Форматирование даты и времени в сценариях позволяет боту сохранять ответы клиента и отображать их в понятном виде. Например, клиент пишет в диалоге: «завтра в обед». Бот распознаёт ответ, сохраняет его в переменную и выводит в формате: «четверг, 17 июля, 14:00».
Переменные для хранения даты и времени объявляются заранее в стартовом блоке Настройки — на вкладке Переменные и шаблоны. Затем блоки сценария получают значение от клиента и записывают его в объявленные переменные. После этого значение переменной можно выводить в диалогах.
Если формат отображения не указан, дата и время показываются по умолчанию:
Чтобы изменить формат отображения, используется шаблон: {имя_переменной|формат:код_формата}. Список доступных форматов приведен в таблице ниже.
В качестве примера ниже используются следующие дата и время: «3 октября 2022, 8:15».
| Код форматирования | Описание / обозначение | Пример использования | Результат |
|---|---|---|---|
| a | «am» или «pm» | {имя переменной|формат:а} |
ам |
| A | «AM» или «PM» | {имя переменной|формат:A} |
АМ |
| d | День месяца (01-31) | {имя переменной|формат:d} |
03 |
| D | Сокращенное название дня недели (первые три буквы) | {имя переменной|формат:D} |
Mon |
| F | Полное название месяца | {имя переменной|формат:F} |
October |
| g | Часы (12-часовой формат без ведущих нулей) | {имя переменной|формат:g} |
8 |
| G | Часы (24-часовой формат без ведущих нулей) | {имя переменной|формат:G} |
8 |
| h | Часы (12-часовой формат) | {имя переменной|формат:h} |
08 |
| H | Часы (24-часовой формат) | {имя переменной|формат:H} |
08 |
| i | Минуты (00-59) | {имя переменной|формат:i} |
15 |
| j | День месяца без ведущих нулей (1-31) | {имя переменной|формат:j} |
3 |
| l | Полное название дня недели | {имя переменной|формат:l} |
Monday |
| L | Признак високосного года (0 – обычный год или 1 – високосный год) | {имя переменной|формат:L} |
0 |
| m | Номер месяца (01-12) | {имя переменной|формат:m} |
10 |
| M | Сокращенное название месяца (три буквы) | {имя переменной|формат:M} |
Oct |
| n | Месяц (1-12) | {имя переменной|формат:n} |
10 |
| s | Секунды (00-59) | {имя переменной|формат:s} |
00 |
| t | Количество дней в данном месяце (28-31) | {имя переменной|формат:t} |
31 |
| w | Номер дня недели (0 – воскресенье, 6 – суббота) | {имя переменной|формат:w} |
1 |
| y | Год (последние два разряда) | {имя переменной|формат:y} |
22 |
| Y | Год (четыре разряда) | {имя переменной|формат:Y} |
2022 |
| z | Номер дня в году (0-365) | {имя переменной|формат:z} |
275 |
Вы можете использовать одновременно несколько кодов форматирования из списка выше. В качестве разделителя можно использовать различные символы: точка, запятая, точка с запятой, двоеточие, плюс, минус и прочие, или не использовать разделитель вообще. В строке форматирования также можно использовать различные слова и фразы.
Например:
| Строка форматирования | Результат |
|---|---|
{имя переменной|формат:l d.m.y} |
Monday 03.10.22 |
{имя переменной|формат: текущий день: l, текущая дата: d.m.y} |
Текущий день: Monday, текущая дата: 03.10.22 |
{имя переменной|формат:h:i:s} |
08:15:00 |
{имя переменной|формат:g часов i минут s секунд} |
8 часов 15 минут 00 секунд |