diff --git a/CLASSES/core/LE_TIME.php b/CLASSES/core/LE_TIME.php new file mode 100644 index 0000000..0865ca1 --- /dev/null +++ b/CLASSES/core/LE_TIME.php @@ -0,0 +1,80 @@ +$res[0],'M'=>$res[1],'D'=>$res[2], + 'HOUR'=>$res[3],'MIN'=>$res[4],'SEC'=>$res[5] + ]; + } + + public static function ARR2TS($arr) + { + $str = $arr['Y']."-".$arr['M']."-".$arr['D']; + $str .= " ".$arr['HOUR'].":".$arr['MIN'].":".$arr['SEC']; + return LE_TIME::STR2TS($str); + } + + public static function ARR2STR($arr,$f=false,$tz=0) + { + $ts = LE_TIME::ARR2TS($arr); + return LE_TIME::TS2STR($f,$ts,$tz); + } + +} \ No newline at end of file diff --git a/DOC/core_classes/LE_CURL.md b/DOC/core_classes/LE_CURL.md index e47fa53..dee05a2 100644 --- a/DOC/core_classes/LE_CURL.md +++ b/DOC/core_classes/LE_CURL.md @@ -1,3 +1,4 @@ +[< Documentation](../) # LE_CURL © by Pavel Belyaev, LE Framework, Tech-Research.ru diff --git a/DOC/core_classes/LE_TIME.md b/DOC/core_classes/LE_TIME.md new file mode 100644 index 0000000..aa268d6 --- /dev/null +++ b/DOC/core_classes/LE_TIME.md @@ -0,0 +1,80 @@ +[< Documentation](../) +# LE_TIME +© by Pavel Belyaev, LE Framework, Tech-Research.ru + +## About +Данный класс создан для упрощения работы с датами и временем... + +### Форматирование даты +> Данная функция принимает на вход timestamp, а возвращает строку с датой и временем в нужном формате + +```php +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 или просто передать номер из таблицы + +```php +echo LE_TIME::TS2STR($format=8,$timestamp=false,$timezone=0); +``` + +### Преобразующие функции +#### Из одной строки в другую +```php +$str2 = LE_TIME::STR2STR($str="2020-01-23",$format=8,$tz=0); +``` +удобно применять для переформатирования даты из БД в дату в нужном формате, на вход можно подавать дату в UTC, а на выходе в локальном часовом поясе, для этого можно передать `$tz=5` + +#### Из строки в Timestamp +> простой парсинг строки с датой, возвращает timestamp +```php +$str2 = LE_TIME::STR2TS($str="20.05.2020"); +``` + +> Преобразование в массив и из массива удобно для специфичных операций с датами, +> например, быстро подправить время на `00:00:00` или `23:59:59` или быстро сдвинуть год, поправить дату + +#### Из строки в массив + +```php +$time_arr = LE_TIME::STR2ARR($str="20.05.2020"); +``` +* `Y` - год +* `M` - месяц +* `D` - день месяца +* `HOUR` - час в 24 формате +* `MIN` - минуты +* `MIN` - секунды + +#### Из Timestamp в массив +```php +$time_arr = LE_TIME::TS2ARR($ts=false); +``` + +#### Из массива в TimeStamp +```php +$timestamp = LE_TIME::ARR2TS($time_arr); +``` +#### Из массива в строку (с форматирование и смещением на часовой пояс) +```php +$time_arr = LE_TIME::ARR2STR($time_arr,$f=8,$tz=0) +``` \ No newline at end of file