Настраиваемые форматы даты и времени
  • 09 Feb 2022
  • 3 минуты
  • Темная тема
    Светлая тема
  • формат pdf

Настраиваемые форматы даты и времени

  • Темная тема
    Светлая тема
  • формат pdf

Функция 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 0: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

Форматирование поля типа "дата и время"

Пример.
Дата и время отправки email-рассылки, системное имя 'Message.SendingDateTime', тип "дата и время".
Значение поля: "29.08.2019 18:45:28"

Запись параметра -> как он будет выглядеть в сформированном письме:

${Message.SendingDateTime}-> 29.08.2019 18:45:28

${FormatDateTime(Message.SendingDateTime, "d.")}-> 29.

${FormatDateTime(Message.SendingDateTime, "dd")}-> 29

${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.")}-> 45.

${FormatDateTime(Message.SendingDateTime, "mm")}-> 45

${FormatDateTime(Message.SendingDateTime, "M.")}-> 8.

${FormatDateTime(Message.SendingDateTime, "MM")}-> 08

${FormatDateTime(Message.SendingDateTime, "MMM")}-> авг

${FormatDateTime(Message.SendingDateTime, "MMMM")}-> Август

${FormatDateTime(Message.SendingDateTime, "s.")}-> 28.

${FormatDateTime(Message.SendingDateTime, "ss")}-> 28

${FormatDateTime(Message.SendingDateTime, "y.")}-> 19.

${FormatDateTime(Message.SendingDateTime, "yy")}-> 19

${FormatDateTime(Message.SendingDateTime, "yy")}-> 19

${FormatDateTime(Message.SendingDateTime, "yyy")}-> 2019

${FormatDateTime(Message.SendingDateTime, "yyyy")}-> 2019

${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")}->

29.8.19 6:45:28

${FormatDateTime(Message.SendingDateTime, "dd.MM.yyyy hh:mm:ss UTC zzz dddd")}->

29.08.2019 06:57:03 UTC +03:00 четверг

${FormatDateTime(Message.SendingDateTime, "день: dd месяц: MM год: yyyy; час: hh минуты: mm секунды: ss; день недели: dddd")}->

день: 29 месяц: 08 год: 2019; час: 06 минуты: 57 секунды: 03; день недели: четверг

${FormatDateTime(Message.SendingDateTime, "d MMM yy H:m:s UTC zz")}->

29 авг 19 18:57:3 UTC +03

${FormatDateTime(Message.SendingDateTime, "dd MMMM yyyy HH:mm:ss UTC z")}->

29 августа 2019 18:57:03 UTC +3

Примечание: ${Message.SendingDateTime} – выводит время в часовом поясе UTC+3


Была ли эта статья полезной?