3.4 KiB
LE_TIME
© by Pavel Belyaev, LE Framework, Tech-Research.ru
About
Данный класс создан для упрощения работы с датами и временем...
Форматирование даты
Данная функция принимает на вход timestamp, а возвращает строку с датой и временем в нужном формате
echo LE_TIME::TS2STR($format=false,$timestamp=false,$timezone=false);
$format
- формат strftime, по умолчанию30 дек 2020 02:54:00
$timestamp
- по умолчанию текущее время, передавать timestamp в unixtime (секундах)$timezone
- по умолчанию UTC +5 (Yekaterinburg), если передать 0, то будет по Гринвичу
Примеры форматов
Дата: 23 января 2020 года 23 часа, 34 минуты, 20 секунд
ID | Формат | Выхлоп | Применение |
---|---|---|---|
1 | %Y-%m-%d %H:%M:%S | 2020-01-23 23:34:20 | Запись в БД DateTime |
2 | %Y-%m-%d | 2020-01-23 | Запись в бд Date |
3 | %d %b %Y - %T | 23 янв 2020 - 23:34:20 | Вывод в интерфейсе |
4 | %d %b %Y %T | 23 янв 2020 23:34:20 | Вывод в интерфейсе |
5 | %d.%m.%Y - %T | 23.01.2020 - 23:34:20 | Вывод в интерфейсе |
6 | %d.%m.%Y %T | 23.01.2020 23:34:20 | Вывод в интерфейсе |
7 | %d.%m.%Y | 23.01.2020 | Вывод в интерфейсе |
8 | %d %b %Y | 23 янв 2020 |
Формат можно писать свой в формате strftime или просто передать номер из таблицы
echo LE_TIME::TS2STR($format=8,$timestamp=false,$timezone=0);
Преобразующие функции
Из одной строки в другую
$str2 = LE_TIME::STR2STR($str="2020-01-23",$format=8,$tz=0);
удобно применять для переформатирования даты из БД в дату в нужном формате, на вход можно подавать дату в UTC, а на выходе в локальном часовом поясе, для этого можно передать $tz=5
Из строки в Timestamp
простой парсинг строки с датой, возвращает timestamp
$str2 = LE_TIME::STR2TS($str="20.05.2020");
Преобразование в массив и из массива удобно для специфичных операций с датами, например, быстро подправить время на
00:00:00
или23:59:59
или быстро сдвинуть год, поправить дату
Из строки в массив
$time_arr = LE_TIME::STR2ARR($str="20.05.2020");
Y
- годM
- месяцD
- день месяцаHOUR
- час в 24 форматеMIN
- минутыMIN
- секунды
Из Timestamp в массив
$time_arr = LE_TIME::TS2ARR($ts=false);
Из массива в TimeStamp
$timestamp = LE_TIME::ARR2TS($time_arr);
Из массива в строку (с форматирование и смещением на часовой пояс)
$time_arr = LE_TIME::ARR2STR($time_arr,$f=8,$tz=0)