Форматирование даты и времени в сценариях позволяет боту сохранять ответы клиента и отображать их в понятном виде. Например, клиент пишет в диалоге: «завтра в обед». Бот распознаёт ответ, сохраняет его в переменную и выводит в формате: «четверг, 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 секунд |