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

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

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

Пример

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

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

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

См. также