0

Как перевести секунды в часы и минуты?

Иногда возникают задачи, требующие перевода интервала, представленного в секундах, в пригодном для восприятия виде. Стандартных функций для этого нет, поэтому придется экспериментировать самим. Давайте представим, что у нас есть переменная, содержащая наш интервал:

КоличествоСекунд = 7210;

Все мы знаем, что в одном часе 3600 секунд (60 минут по 60 секунд), поэтому, если мы разделим наш интервал на 3600, то получим в целой части количество часов, а в остатке количество секунд, которые могут быть и минутами, и секундами:

//получаем часы
Часы = Цел(КоличествоСекунд / 3600);
//считаем остаток
ОстатокСекунд = КоличествоСекунд - Часы * 3600;
//или 
ОстатокСекунд = КоличествоСекунд % 3600;

В идеале нам нужны только два оператора:

  1. оператор деления /
  2. оператор остатка от деления %

Теперь нам нужно аналогичным образом получить количество минут:

//получаем минуты
Минуты = Цел(ОстатокСекунд / 60);//в минуте 60 сек

Ну, а остаток — это наши секунды:

Секунды = ОстатокСекунд % 60;

Давайте посмотрим, что мы получили:

Сообщить("" + Часы + " часов, " + Минуты + " минут, " + Секунды + " секунд");
//Результат:
//	2 часов, 0 минут, 10 секунд

Если собрать все воедино, наша функция будет выглядеть так:

Функция ПериодЧасыМинутыСекунды(Знач КоличествоСекунд)
	
	Перем Часы, Минуты, Секунды;
	
	//получаем часы
	Часы = Цел(КоличествоСекунд / 3600);
	//считаем остаток
	КоличествоСекунд = КоличествоСекунд % 3600;
	//получаем минуты
	Минуты = Цел(КоличествоСекунд / 60);//в минуте 60 сек
	//остались секунды
	Секунды = КоличествоСекунд % 60;
	
	Возврат ("" + Часы + " часов, " + Минуты + " минут, " + Секунды + " секунд");
	
КонецФункции

Попробуйте самостоятельно доработать ее так, чтобы она считала еще и количество дней)

Читайте также:

Добавить комментарий

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