Перейти к основному содержимому

Форматирование значений типа ДатаВремя

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

Пример

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

пер ДатаСоздания = новый ДатаВремя(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]).

Например:

пер ДатаНачала = ДатаВремя{2024-05-21}
пер ДатаОкончания = ДатаВремя{2024-05-24}
пер ДатаНачалаФормат = ДатаНачала.Представление("дд ММММ")
пер ДатаОкончанияФормат = ДатаОкончания.Представление("дд ММММ гггг")
пер Период = Строки.Шаблон(%0 по %1 года", [ДатаНачалаФормат, ДатаОкончанияФормат])

Значение переменной Период:

С 21 мая по 24 мая 2024 года

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

ФорматОписаниеПример
гГод, в диапазоне от 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
примечание

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

См. также