[< Documentation](../)
# LE_TIME
&copy; 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)
```