Форматирование значений даты и времени
Типы ДатаВремя, Время, Дата и Длительность являются потомками типа Форматируемое, а значит, значения этих типов можно представлять в заданном формате. Для форматирования даты и времени используется метод Представление() соответствующих типов, который принимает как аргумент указанный формат и возвращает строку в этом формате.
Метод «Представление()»
В примере ниже для переменной ДатаСоздания типа ДатаВремя вызывается метод Представление(), который позволяет представить ее значение в виде строки соответствующего формата. Названия месяцев и дней недели устанавливаются в зависимости от локали.
метод ПредставлениеДаты(): неизвестно
    пер ДатаСоздания = новый ДатаВремя(2025, 5, 1, 23, 30, 40)
    пер ДатаСозданияФормат = ДатаСоздания.Представление("дд ММММ гггг ЧЧ:мм:сс")
    возврат ДатаСозданияФормат // 01 мая 2025 23:30:40
;
Если в метод Представление() не передать ни одного аргумента, то будет использоваться значение по умолчанию с учетом текущей локали. Локаль определяет разделители и порядок компонентов даты (день, месяц, год). Например:
- 
дд.ММ.гггг чч:мм:сс— для русской локали, - 
дд/ММ/гггг чч:мм:сс— для британского английского, - 
М/д/гггг ч:мм:сс п— для американского английского. 
Экранирование
Для экранирования используется символ ' (одинарная кавычка). Таким образом, символы, которые надо отделить от переменных формата, заключаются в одинарные кавычки. В следующем примере экранирование используется для запятой и пробела (', '), которые разделяют дату и время:
метод Экранирование(): неизвестно
    пер ДатаСоздания = новый ДатаВремя(2025, 5, 1, 23, 30, 40)
    пер ДатаСозданияФормат = ДатаСоздания.Представление("дд ММММ гггг', 'ЧЧ:мм:сс")
    возврат ДатаСозданияФормат // 01 мая 2025, 23:30:40
;
В примере ниже экранирование используется для строк Длительность:, день, часов.
метод Экранирование(): неизвестно
    пер ДлительностьСеминара = 1д5ч30м55с333мс
    пер ДатаСозданияФормат = ДлительностьСеминара.Представление("'Длительность:' д 'день' Ч 'часов'")
    возврат ДатаСозданияФормат // Длительность: 1 день 5 часов
;
При использовании символа ' (одинарная кавычка) в разделе текста его необходимо экранировать еще одной кавычкой: '' (то есть две идущие подряд одинарные кавычки).
Форматирование длительности
В примере ниже для переменной ДлительностьСеминара типа Длительность вызывается метод Представление(Формат: Строка), который позволяет представить ее значение в виде строки соответствующего формата. Для указания места, куда необходимо вставить значения единиц измерения длительности, используются специальные символы. Результат форматирования помещается в переменную ДлительностьСеминараФормат:
метод ФорматированиеДлительности(): неизвестно
    пер ДлительностьСеминара = 1д5ч30м55с333мс
    пер ДлительностьСеминараФормат = ДлительностьСеминара.Представление("дд:ЧЧ:мм")
    возврат ДлительностьСеминараФормат // 01:05:30
;
Если в метод Представление() не передать ни одного аргумента, то будет использоваться значение по умолчанию: "ЗЧЧ:мм:сс".
Если в строке Формат отсутствуют специальные символы, обозначающие какую-либо временную единицу, то данная единица переводится в ближайшую меньшую временную единицу, символ которой присутствует в форматной строке:
1ч12м.Представление("м") → 72
Если символ ближайшей меньшей единицы отсутствует в форматной строке, то данная временная единица отбрасывается:
25м13с.Представление("м") → 25
Если символ ближайшей меньшей временной единицы отсутствует в форматной строке, однако ее значение может быть переведено в ближайшую бо́льшую временную единицу, символ которой присутствует в форматной строке (например, 60 секунд = 1 минута), тогда меньшая временная единица переводится в ближайшую бо́льшую временную единицу. Целая часть суммируется со значением большей временной единицы, если таковая уже присутствует в строке, а остаток отбрасывается:
25м65с.Представление("м") → 26
В случае указания некорректной форматной строки будет выброшено исключение Некорректная форматная строка. Неизвестный элемент форматной строки "[элемент]"..
Для того чтобы преобразовать длительность в формат ISO, можно использовать метод ВФорматеIso(). Данный метод осуществляет форматирование длительности по формату ISO-8601: PnDTnHnMn.nS, где D — дни, H — часы, M — минуты, S — секунды. Пример:
2д3ч4м.ВФорматеIso() → P2DT3H4M
(-6ч3м).ВФорматеIso() → -PT6H3M
Интерполяция
Для интерполяции используется метод Шаблон() типа Строки. Он принимает как аргументы строку и переменные объекта, которые нужно вставить в эту строку. Индекс объектов отсчитывается с нуля, т. е. с %0.
Синтаксис:
Строки.Шаблон("Текст шаблона %Индекс1", объект с переменными)
Если объектов несколько, то передается список объектов:
Строки.Шаблон("Текст шаблона %Индекс1 ... %Индекс2 ... %ИндексN", [Объект1, Объект2, ..., ОбъектN])
Например:
метод ФорматированиеДатыВремени(): Строка
    пер ДатаНачала = ДатаВремя{2024-05-21}
    пер ДатаОкончания = ДатаВремя{2024-05-24}
    пер ДатаНачалаФормат = ДатаНачала.Представление("дд ММММ")
    пер ДатаОкончанияФормат = ДатаОкончания.Представление("дд ММММ гггг")
    пер Период = Строки.Шаблон("С %0 по %1 года", [ДатаНачалаФормат, ДатаОкончанияФормат])
    возврат Период  // С 21 мая по 24 мая 2024 года
;
метод ФорматированиеДлительности(): Строка
    пер МинимальнаяДлительность = 5ч30м55с333мс
    пер МаксимальнаяДлительность = 7ч40м55с333мс
    пер МинимальнаяДлительностьФормат = МинимальнаяДлительность.Представление("Ч 'ч' мм 'мин'")
    пер МаксимальнаяДлительностьФормат = МаксимальнаяДлительность.Представление("Ч 'ч' мм 'мин'")
    пер Диапазон = Строки.Шаблон("Длительность составит: от %0 до %1",
                                [МинимальнаяДлительностьФормат, МаксимальнаяДлительностьФормат])
    возврат Диапазон  // Длительность составит: от 5 ч 30 мин до 7 ч 40 мин
;
Список доступных форматов
Формат  | Описание  | Пример  | 
|---|---|---|
г  | Год, в диапазоне от 0 до 99, без ведущего нуля.  |  | 
гг  | Год, в диапазоне от 00 до 99, с ведущим нулем.  |  | 
гггг  | Год в виде четырехзначного числа, в диапазоне от 0000 до 9999, с ведущим нулем.  |  | 
К  | Квартал в формате 1-4.  |  | 
М  | Месяц, в диапазоне от 1 до 12, без ведущего нуля.  |  | 
ММ  | Месяц, в диапазоне от 01 до 12, с ведущим нулем.  |  | 
МММ  | Сокращенное название месяца.  |  | 
ММММ  | Полное название месяца.  |  | 
д  | День месяца, в диапазоне от 1 до 31, без ведущего нуля.  |  | 
дд  | День месяца, в диапазоне от 01 до 31, с ведущим нулем.  |  | 
ддд  | Сокращенное название дня недели.  |  | 
дддд  | Полное название дня недели.  |  | 
Д  | Порядковый номер дня в неделе.  |  | 
ДД  | Порядковый номер дня в году.  |  | 
ч  | Час в 12-часовом формате, в диапазоне от 1 до 12, без ведущего нуля.  |  | 
чч  | Час в 12-часовом формате, в диапазоне от 01 до 12, с ведущим нулем.  |  | 
Ч  | Час в 24-часовом формате, в диапазоне от 0 до 23, без ведущего нуля.  |  | 
ЧЧ  | Час в 24-часовом формате, в диапазо не от 00 до 23, с ведущим нулем.  |  | 
м  | Минуты, в диапазоне от 0 до 59, без ведущего нуля.  |  | 
мм  | Минуты, в диапазоне от 00 до 59, с ведущим нулем.  |  | 
с  | Секунды, в диапазоне от 0 до 59, без ведущего нуля.  |  | 
сс  | Секунды, в диапазоне от 00 до 59, с ведущим нулем.  |  | 
С  | Миллисекунды с точностью до сотен, в диапазоне от 0 до 9.  |  | 
СС  | Миллисекунды с точностью до десятков, в диапазоне от 0 до 99.  |  | 
ССС  | Миллисекунды с точностью до единиц, в диапазоне от 0 до 999.  |  |