# Работа с датой и временем

**Вчера** - `{{ date("d.m.Y", "yesterday") }}`

**Сегодня** - `{{ date("d.m.Y", "today") }}`

**Завтра** - `{{ date("d.m.Y", "tomorrow") }}`

**Послезавтра** - `{{ date("d.m.Y", "+ 2 days") }}`

**Следующая среда** - `{{ date("d.m.Y", "next wednesday") }}`

**Прошлая пятница** - `{{ date("d.m.Y", "last friday") }}`

**Этот четверг** - `{{ date("d.m.Y", "this thursday") }}`

**14 дней вперед** - `{{ date("d.m.Y", "+ 14 days") }}`

**7 дней назад** - `{{ date("d.m.Y", "- 7 days") }}`

**2 часа вперед** - `{{ date("d.m.Y H:i:s", "+ 2 hours") }}` (Часовой пояс по умолчанию UTC-0)

### **Функция modifyDateTime:**&#x20;

Для того, чтобы к текущей дате прибавить месяц (или любую другую единицу времени) и вывести в формате даты вы можете воспользоваться функцией **modifyDateTime.**

Для этого вам нужно:

1\. Изначально *записать текущую дату в переменную*, например в переменную "currentDate" с помощью блока "Операция над переменной" - `{{ date("d.m.Y") }}`

2\. Прибавить к текущей дате месяц: \
`{{ modifyDateTime($currentDate, "d.m.Y", "d.m.Y", "+30 days +12 hours") }}`

Описание аргументов функции modifyDateTime:

* 1-ый аргумент функции должен содержать дату или переменную с датой
* 2-ой аргумент функции должен содержать формат даты, которая передается в первом аргументе
* 3-й аргумент функции должен содержать формат даты в который нужно преобразовать дату переданную в первом аргументе
* 4-й аргумент функции (необязательный) должен содержать модификатор даты (+30 days +12 hours ...)
* 5-й аргумент функции и дальше (необязательный) должны содержать переменные для замены знаков "?" в аргументах с 1-го по 4-ый последовательно

### Преобразование даты в UNIX формат <a href="#preobrazovanie-daty-v-unix-format" id="preobrazovanie-daty-v-unix-format"></a>

{% hint style="info" %}
Unix формат даты - это время в секундах, прошедшее с 01 января 1970 до выбранной даты. Используется для сравнения двух дат между собой. \
\&#xNAN;*По другому сравнить две даты нельзя: в привычном нам формате  01.01.2021 и 15.01.2024, компьютер сравнивать не умеет.*&#x20;
{% endhint %}

\
**Текущее время** - `{{date("U")}}`

**Пять минут вперёд** - `{{date("U", "+ 5 minutes")}}`

**Пять минут назад** - `{{date("U", "- 5 minutes")}}`

**Пять часов вперёд** - `{{date("U", "+ 5 hours")}}`

**Пять часов назад** - `{{date("U", "- 5 hours")}}`

**Пять дней вперёд** - `{{date("U", "+ 5 days")}}`

**Пять дней назад** - `{{date("U", "- 5 days")}}`

**Преобразование даты из переменной** - `{{date("U", $переменная)}}`

{% hint style="info" %}
Полезная ссылка для форматирования даты: \
<https://www.php.net/manual/ru/datetime.format.php>
{% endhint %}

### Примеры:

Чтобы вывести в бота текущую дату, вставьте в блоке "цепочка сообщений" внутреннюю функцию, которая выводит дату: `{{ date () }}`

*дата будет выведена в формате:*\
*2022-07-08 13:41:45 (т.е. год-месяц-число часы:минуты:секунды)*

Вы можете выбрать любой формат вывода даты/времени (либо выводить только дату без времени, либо только время без даты и т.д.).

Для этого используйте данный формат написания функции: `{{ date("d.m.Y") }}`

*При такой записи функции будет выведена текущая дата в формате*\
&#x20;*"день.месяц.год" например 08.07.2022*

Вы можете сохранять дату/время в переменные, для дальнейшего использования их в сценариях вашего проекта.

Для этого используйте блок "операция над переменной":

<figure><img src="https://2114987056-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MfhAagTPmzvUU2TSq8e%2Fuploads%2FTwstkY5KA8khGbwc02LT%2Fdategit.jpg?alt=media&#x26;token=7f133629-034d-4e2a-bff4-fdcb9a6b7151" alt=""><figcaption></figcaption></figure>
