Форматирование даты и времени

Тип ДатаВремя является потомком типа Форматируемое, а значит, для значений этого типа поддерживается возможность указывать форматную строку для получения нужного представления значения данного типа. Для форматирования даты и времени используется встроенный метод Представление(), который принимает как аргумент указанный формат и возвращает строку с датой и временем в этом формате.

Пример

В примере ниже для переменной ДатаСоздания типа ДатаВремя вызывается метод Представление(), который позволяет представить ее значение в виде строки соответствующего формата. Результат форматирования помещается в переменную ДатаСозданияФормат:
пер ДатаСоздания = новый ДатаВремя(2019, 5, 1, 23, 30, 40)
пер ДатаСозданияФормат = ДатаСоздания.Представление("дд ММММ гггг ЧЧ:мм:сс")
Значение переменной ДатаСозданияФормат:
01 мая 2019 23:30:40
Если в метод Представление() не передать ни одного аргумента, то будет использоваться значение по умолчанию: "дд.ММ.гггг ЧЧ:мм:сс".

Экранирование

Для экранирования используется символ ' (одинарная кавычка). Таким образом, символы, которые надо отделить от переменных формата, заключаются в одинарные кавычки. Например:
пер ДатаСоздания = новый ДатаВремя(2019, 5, 1, 23, 30, 40)
пер ДатаСозданияФормат = ДатаСоздания.Представление("дд ММММ гггг', 'ЧЧ:мм:сс")
Значение переменной ДатаСозданияФормат:
01 мая 2019, 23:30:40
В примере выше экранирование используется для запятой и пробела (', '), которые разделяют дату и время.

Интерполяция

Для интерполяции используется метод Шаблон типа Строки. Он принимает как аргументы строку и переменные объекта, которые нужно вставить в эту строку. Индекс объектов отсчитывается с нуля, т. е. с %0.

Синтаксис:

Строки.Шаблон("Текст шаблона %Индекс1", объект с переменными).

Если объектов несколько, то передается список объектов:

Строки.Шаблон("Текст шаблона %Индекс1 ... %Индекс2 ... %ИндексN", [Объект1, Объект2, ..., ОбъектN]).

Например:
пер ДатаНачала = новый ДатаВремя(2019, 5, 21, 12, 00, 00)
пер ДатаОкончания = новый ДатаВремя(2019, 5, 24, 23, 59, 59)
пер ДатаНачалаФормат = ДатаНачала.Представление("дд ММММ")
пер ДатаОкончанияФормат = ДатаОкончания.Представление("дд ММММ гггг")
пер Период = Строки.Шаблон("С %0 по %1 года", [ДатаНачалаФормат, ДатаОкончанияФормат])
Значение переменной Период:
С 21 мая по 24 мая 2019 года

Список доступных форматов

г
Год, в диапазоне от 0 до 99, без ведущего нуля.
0001-01-01T00:00:00 -> 1
0900-01-01T00:00:00 -> 0
1900-01-01T00:00:00 -> 0
2009-06-15T13:45:30 -> 9
2019-06-15T13:45:30 -> 19
гг
Год, в диапазоне от 00 до 99, с ведущим нулем.
0001-01-01T00:00:00 -> 01
0900-01-01T00:00:00 -> 00
1900-01-01T00:00:00 -> 00
2019-06-15T13:45:30 -> 19
гггг
Год в виде четырехзначного числа, в диапазоне от 0000 до 9999, с ведущим нулем.
0001-01-01T00:00:00 -> 0001
0900-01-01T00:00:00 -> 0900
1900-01-01T00:00:00 -> 1900
2009-06-15T13:45:30 -> 2009
К
Квартал в формате 1-4.
2009-01-12T13:45:30.6170000 -> 1
М
Месяц, в диапазоне от 1 до 12, без ведущего нуля.
2009-06-15T13:45:30 -> 6
ММ
Месяц, в диапазоне от 01 до 12, с ведущим нулем.
2009-06-15T13:45:30 -> 06
МММ
Сокращенное название месяца.
2009-01-15T13:45:30 -> янв.
ММММ
Полное название месяца.
2009-01-15T13:45:30 -> января
д
День месяца, в диапазоне от 1 до 31, без ведущего нуля.
2009-06-01T13:45:30 -> 1
2009-06-15T13:45:30 -> 15
дд
День месяца, в диапазоне от 01 до 31, с ведущим нулем.
2009-06-01T13:45:30 -> 01
2009-06-15T13:45:30 -> 15
ддд
Сокращенное название дня недели.
2009-06-15T13:45:30 -> пн
дддд
Полное название дня недели.
2009-06-15T13:45:30 -> понедельник
Д
Порядковый номер дня в неделе.
2009-01-12T13:45:30 -> 1
2009-02-03T13:45:30 -> 2
ДД
Порядковый номер дня в году.
2009-01-12T13:45:30 -> 12
2009-02-03T13:45:30 -> 34
ч
Час в 12-часовом формате, в диапазоне от 1 до 12, без ведущего нуля.
2009-06-15T01:45:30 -> 1
2009-06-15T13:45:30 -> 1
чч
Час в 12-часовом формате, в диапазоне от 01 до 12, с ведущим нулем.
2009-06-15T01:45:30 -> 01
2009-06-15T13:45:30 -> 01
Ч
Час в 24-часовом формате, в диапазоне от 0 до 23, без ведущего нуля.
2009-06-15T01:45:30 -> 1
2009-06-15T13:45:30 -> 13
ЧЧ
Час в 24-часовом формате, в диапазоне от 00 до 23, с ведущим нулем.
2009-06-15T01:45:30 -> 01
2009-06-15T13:45:30 -> 13
м
Минуты, в диапазоне от 0 до 59, без ведущего нуля.
2009-06-15T01:09:30 -> 9
2009-06-15T13:29:30 -> 29
мм
Минуты, в диапазоне от 00 до 59, с ведущим нулем.
2009-06-15T01:09:30 -> 09
2009-06-15T01:45:30 -> 45
с
Секунды, в диапазоне от 0 до 59, без ведущего нуля.
2009-06-15T13:45:09 -> 9
сс
Секунды, в диапазоне от 00 до 59, с ведущим нулем.
2009-06-15T13:45:09 -> 09
С
Миллисекунды с точностью до сотен, в диапазоне от 0 до 9.
2009-06-15T13:45:09.345 -> 3
СС
Миллисекунды с точностью до десятков, в диапазоне от 0 до 99.
2009-06-15T13:45:09.345 -> 34
ССС
Миллисекунды с точностью до единиц, в диапазоне от 0 до 999.
2009-06-15T13:45:09.345 -> 345

Описание элементов строковых литералов и форматных строк приведено здесь.

Примечание: Некоторые значения для типа «момент» могут отличаться. Подробнее см. в соответствующем разделе.