Настраиваемые форматы даты и времени
Функция FormatDateTime может использоваться для форматирования параметров типа "дата" и "дата и время".
Форматы могут быть стандартными и настраиваемыми.
Настраиваемые форматы:
"d."* - день месяца, в диапазоне от 1 до 31
"dd" - день месяца, в диапазоне от 01 до 31
"ddd" - сокращенное название дня недели
"dddd" - полное название дня недели
"h."* - час в 12-часовом формате от 1 до 12
"hh"* - час в 12-часовом формате от 01 до 12
"H."* - час в 24-часовом формате от 0 до 23
"HH." - час в 24-часовом формате от 00 до 23
"m." - минуты, в диапазоне от 0 до 59
"mm" - Минуты, в диапазоне от 00 до 59
"M."* - месяц, в диапазоне от 1 до 12
"MM" - месяц, в диапазоне от 01 до 12
"MMM" - сокращенное название месяца
"MMMM" - полное название месяца
"s."* - секунды, в диапазоне от 0 до 59
"ss" - секунды, в диапазоне от 00 до 59
"y."* - год, в диапазоне от 0 до 99
"yy" - год, в диапазоне от 00 до 99
"yyy" - год в виде как минимум трех цифр
"yyyy" - год в виде четырехзначного числа
"z."* - часовой сдвиг от времени в формате UTC (универсального времени), без нулей в начале. (не использовать для полей типа "дата")
"zz" - часовой сдвиг от времени в формате UTC (универсального времени) с нулями в начале для значений из одной цифры. (не использовать для полей типа "дата")
"zzz" - Сдвиг в часах и минутах от времени в формате UTC (универсального времени). (не использовать для полей типа "дата")
*Точки поставлены, только чтобы не спутать со стандартными форматами, которые записываются в виде одной буквы.
Разделители
Обычно применяется "." для дат и ":" для времени.
Не используйте в качестве разделителей кавычки, скобки, знак процента, обратный слэш и слэш. Последний заменится на точку, а остальные нарушат форматирование.
Все другие знаки, в том числе пробелы или отсутствие разделителя, разрешены.
Для получения нужного вида сочетаем форматы выше.
Форматирование поля типа "дата"
Пример.
Поле "Дата рождения", системное имя 'BirthDate', тип "дата".
Значение поля у клиента: "05.07.1993"
Запись параметра -> как он будет выглядеть в сформированном письме:
${Recipient.BirthDate} -> 05.07.1993 00:00:00
${FormatDateTime(Recipient.BirthDate, "d.")}-> 5.
${FormatDateTime(Recipient.BirthDate, "dd")}-> 05
${FormatDateTime(Recipient.BirthDate, "ddd")}-> пн
${FormatDateTime(Recipient.BirthDate, "dddd")}-> понедельник
${FormatDateTime(Recipient.BirthDate, "h.")}-> 12.
${FormatDateTime(Recipient.BirthDate, "hh")}-> 12
${FormatDateTime(Recipient.BirthDate, "H.")}-> 0.
${FormatDateTime(Recipient.BirthDate, "HH.")}-> 00.
${FormatDateTime(Recipient.BirthDate, "m.")}-> 0.
${FormatDateTime(Recipient.BirthDate, "mm")}-> 00
${FormatDateTime(Recipient.BirthDate, "M.")}-> 7.
${FormatDateTime(Recipient.BirthDate, "MM")}-> 07
${FormatDateTime(Recipient.BirthDate, "MMM")}-> июл.
${FormatDateTime(Recipient.BirthDate, "MMMM")}-> июль
${FormatDateTime(Recipient.BirthDate, "s.")}-> 0.
${FormatDateTime(Recipient.BirthDate, "ss")}-> 00
${FormatDateTime(Recipient.BirthDate, "y.")}-> 93.
${FormatDateTime(Recipient.BirthDate, "yy")}-> 93
${FormatDateTime(Recipient.BirthDate, "yyy")}-> 1993
${FormatDateTime(Recipient.BirthDate, "yyyy")}-> 1993
Примеры сочетаний
Запись параметра -> как он будет выглядеть в сформированном письме:
${FormatDateTime(Recipient.BirthDate, "d.M.yy h:m:s ddd")} → 5.7.93 12:0:0 пн
${FormatDateTime(Recipient.BirthDate, "dd.MM.yyyy hh:mm:ss dddd")}->
05.07.1993 12:00:00 понедельник
${FormatDateTime(Recipient.BirthDate, "день: dd месяц: MM год: yyyy час: hh минуты: mm секунды: ss день недели: dddd")}->
день: 05 месяц: 07 год: 1993 час: 12 минуты: 00 секунды: 00 день недели: понедельник
${FormatDateTime(Recipient.BirthDate, "d MMM yy H:m:s")}->
5 июл. 93 0:0:0
${FormatDateTime(Recipient.BirthDate, "dd MMMM yyyy HH:mm:ss")}->
05 июля 1993 00:00:00
Форматирование поля типа "дата и время"
Пример.
Дополнительное поле с системным именем 'DT', тип "дата и время".
Значение поля: "01.08.2024 18:34:00"
Часовой пояс проекта UTC +03:00
Запись параметра -> как он будет выглядеть в сформированном письме:
${Message.SendingDateTime}-> 01.08.2024 18:34:00
${FormatDateTime(Message.SendingDateTime, "d.")}-> 1.
${FormatDateTime(Message.SendingDateTime, "dd")}-> 01
${FormatDateTime(Message.SendingDateTime, "ddd")}-> чт
${FormatDateTime(Message.SendingDateTime, "dddd")}-> четверг
${FormatDateTime(Message.SendingDateTime, "h.")}-> 6.
${FormatDateTime(Message.SendingDateTime, "hh")}-> 06
${FormatDateTime(Message.SendingDateTime, "H.")}-> 18.
${FormatDateTime(Message.SendingDateTime, "HH.")}-> 18.
${FormatDateTime(Message.SendingDateTime, "m.")}-> 34.
${FormatDateTime(Message.SendingDateTime, "mm")}-> 34
${FormatDateTime(Message.SendingDateTime, "M.")}-> 8.
${FormatDateTime(Message.SendingDateTime, "MM")}-> 08
${FormatDateTime(Message.SendingDateTime, "MMM")}-> авг.
${FormatDateTime(Message.SendingDateTime, "MMMM")}-> август
${FormatDateTime(Message.SendingDateTime, "s.")}-> 0.
${FormatDateTime(Message.SendingDateTime, "ss")}-> 00
${FormatDateTime(Message.SendingDateTime, "y.")}-> 24.
${FormatDateTime(Message.SendingDateTime, "yy")}-> 24
${FormatDateTime(Message.SendingDateTime, "yyy")}-> 2024
${FormatDateTime(Message.SendingDateTime, "yyyy")}-> 2024
${FormatDateTime(Message.SendingDateTime, "z.")}-> +3.
${FormatDateTime(Message.SendingDateTime, "zz")}-> +03
${FormatDateTime(Message.SendingDateTime, "zzz")}-> +03:00
Примеры сочетаний:
Запись параметра -> как он будет выглядеть в сформированном письме:
${FormatDateTime(Message.SendingDateTime, "d.M.yy h:m:s ddd")}->
1.8.24 6:34:0 чт
${FormatDateTime(Message.SendingDateTime, "dd.MM.yyyy hh:mm:ss UTC zzz dddd")}->
01.08.2024 06:34:00 UTC +03:00 четверг
${FormatDateTime(Message.SendingDateTime, "день: dd месяц: MM год: yyyy; час: hh минуты: mm секунды: ss; день недели: dddd")}->
день: 01 месяц: 08 год: 2024; час: 06 минуты: 34 секунды: 00; день недели: четверг
${FormatDateTime(Message.SendingDateTime, "d MMM yy H:m:s UTC zz")}->
1 авг. 24 18:34:0 UTC +03
${FormatDateTime(Message.SendingDateTime, "dd MMMM yyyy HH:mm:ss UTC z")}->
01 августа 2024 18:34:00 UTC +3