Функция преобразования промежутка времени в строку


Функция предназначена для преобразования промежутка времени в строку с разбивкой по годам, дням, часам, минутам, секундам.
// Функция предназначена для преобразования промежутка времени
// в строку с разбивкой по годам, дням, часам, минутам, секундам.
// Только по-русски.
//
// Параметры:
//  ДатаНач            - Дата - начальная дата
//  ДатаКон            - Дата - конечная дата
//  РасчетПоДатам     - Булево - если ИСТИНА, тогда расчет дней, месяцев и лет ведется по разности дат,
//                                 иначе расчет ведется по среднему значению дней в месяце 30.4375
//                                 и среднему значению дней в году 365.25. По умолчанию = Истина
//  Точность         - Число - значения:
//                        до секунд - 0;
//                         до минут - 1;
//                         до часов - 2;
//                         до дней - 3;
//                         до месяцев - 4;
//                         до годов - 5.
//  Сокращённо     - Булево - если ИСТИНА, тогда единицы измерений времени выводятся в сокращенном виде
//
// Возвращаемое значение:
//   Строка   - промежуток времени.
//
Функция ПромежутокВремениВСтроку(ДатаНач,ДатаКон,РасчетПоДатам = Истина,Точность = 0,Сокращённо = Ложь)

Разность дат в программе 1С — количество секунд.

При установке параметра «РасчетПоДатам» = Истина строка формируется по разности значений лет, месяцев и дней.

Потом количество оставшихся секунд преобразуется в строку часов, минут и секунд.

При таком подходе одинаковые промежутки по количеству секунд будут иметь РАЗНЫЕ строковые значения, но два промежутка, как годы (високосный и простой) будут отображаться как 1 год.

При установке параметра «РасчетПоДатам» = Ложь строка формируется по среднему значению дней в месяце 30.4375 и среднему значению дней в году 365.25.
При таком подходе одинаковые промежутки по количеству секунд будут иметь ОДИНАКОВЫЕ строковые значения.

1 Comment

  1. madonov

    Спасибо, сэкономили мне несколько часов времени.

    Хорошая функция, предусмотрены склонения единиц измерения (день, дня, дней и тд).

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *