Прикладной код

Функция «ИнтервалДат»

Функция «ИнтервалДат»

Вычисляет разницу между двумя датами. Возвращает результат, отформатированный по переданной форматной строке.

Синтаксис

ИнтервалДат(ДатаНач, ДатаКнц, Формат, ПоказыватьНулевыеЗначения);

Параметры

НазваниеТипОписаниеОбязательно к указанию

ДатаНач

Дата

Дата начала интервала

Да

ДатаКнц

Дата

Дата окончания интервала

Да

Формат

Строка

Формат в виде строки

Нет

ПоказыватьНулевыеЗначения

Логическое

Отображение нулевых компонент в возвращаемой строке

Нет

Возвращаемое значение

Строка по заданному формату. Например, «1 час 30 минут».

Пример

var ДатаНач = '2019-06-10 08:00:01',
   ДатаКнц = '2019-06-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц);
return Интервал;
// вернется строка '1 день 1 секунда'
var ДатаНач = '2019-06-10 08:00:01',
   ДатаКнц = '2019-06-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, 'сокращенный', true);
return Интервал;
// вернется строка '0 л. 0 мес. 1 д. 0 час. 0 мин. 1 сек.'
var ДатаНач = '2019-06-10 08:00:01',
   ДатаКнц = '2019-07-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, '%s %ss');
return Интервал;
// вернется строка '2764799 секунд'
var ДатаНач = '2019-07-11 08:00:00',
   ДатаКнц = '2019-06-10 08:00:01',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, '%N%s %ss');
return Интервал;
// вернется строка '-2764799 секунд'
var ДатаНач = '2018-06-10 08:00:01',
   ДатаКнц = '2019-07-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, '%N %Y%s Y-%s%ss-');
return Интервал;
// вернется строка '1 г. 2764799 сек.'(при положительной разнице интервалов минус не добавится)
var ДатаНач = '2019-06-10 08:00:00',
   ДатаКнц = '2019-06-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, '%Y%sY %M%sM');
return Интервал;
/*
 вернется строка '0 месяцев'
 Если параметр ПоказыватьНулевыеЗначения FALSE и все компоненты даты по ключам формата нулевые, вернется младший.
*/
var ДатаНач = '2019-06-10 08:00:01',
   ДатаКнц = '2019-07-11 08:00:00',
   Интервал = ИнтервалДат(ДатаНач, ДатаКнц, 'Задача выполнялась %h %sh');
return Интервал;
// вернется строка 'Задача выполнялась 767 часов'