ИнтервалВремениСтрокой (БСП)

Автор: 1С
ОбщийМодуль.ОбщегоНазначения
БСП

Интервал времени строкой. Возвращает строковое представление интервала между переданными датами или

// Возвращает строковое представление интервала между переданными датами или
// относительно переданной даты и текущей даты сеанса.
//
// Параметры:
//  ВремяНачала    - Дата - начальная точка интервала.
//  ВремяОкончания - Дата - конечная точка интервала, если не задана - берется текущая дата сеанса.
//
// Возвращаемое значение:
//  Строка - представление интервала времени.
//
Функция ИнтервалВремениСтрокой(ВремяНачала, ВремяОкончания = Неопределено) Экспорт
	
	Если ВремяОкончания = Неопределено Тогда
		ВремяОкончания = ТекущаяДатаСеанса();
	ИначеЕсли ВремяНачала > ВремяОкончания Тогда
		ВызватьИсключение НСтр("ru = 'Дата окончания интервала не может быть меньше даты начала.'");
	КонецЕсли;
	
	ВеличинаИнтервала = ВремяОкончания - ВремяНачала;
	ВеличинаИнтервалаВДнях = Цел(ВеличинаИнтервала/60/60/24);
	
	Если ВеличинаИнтервалаВДнях > 365 Тогда
		ОписаниеИнтервала = НСтр("ru = 'более года'");
	ИначеЕсли ВеличинаИнтервалаВДнях > 31 Тогда
		ОписаниеИнтервала = НСтр("ru = 'более месяца'");
	ИначеЕсли ВеличинаИнтервалаВДнях >= 1 Тогда
		ОписаниеИнтервала = Формат(ВеличинаИнтервалаВДнях, "ЧДЦ=0") + " "
			+ ПользователиСлужебныйКлиентСервер.ПредметЦелогоЧисла(ВеличинаИнтервалаВДнях,
				"", НСтр("ru = 'день,дня,дней,,,,,,0'"));
	Иначе
		ОписаниеИнтервала = НСтр("ru = 'менее одного дня'");
	КонецЕсли;
	
	Возврат ОписаниеИнтервала;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ПолучитьИнтервалВремениИзСтроки (БСП)

ОформитьВремя (БСП)

ПредставлениеВремени (БСП)

Создать временную таблицу периодов с заданной периодичностью

Пересекаются ли два интервала

ПользовательскоеПредставлениеИнтервалаВерсий (БСП)

УстановитьИнтервалДатДляПросмотра (БСП)

УстановитьИнтервалДатДляПросмотраЗавершение (БСП)

Нахождение интервалов в запросе

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз