0
vl_programmer
10.01.14
✎
15:47
|
Всем привет может есть у кого функция округление даты и времени?
пример того что хочется получить:
Пример 1
дата = 01.02.2013 20:49:99;
ОркуглятьДо = 30; //30 Минут
Округлитьвремя(дата, ОркуглятьДо );
на выходе
01.02.2013 21:00:00;
Пример 2
дата = 01.02.2013 20:16:99;
ОркуглятьДо = 30; //30 Минут
Округлитьвремя(дата, ОркуглятьДо );
на выходе
01.02.2013 20:30:00;
|
|
1
kvikster
10.01.14
✎
17:16
|
Функция Округлитьвремя(ТекДата,Шаг)
Если Шаг = 0 Тогда
Шаг = 60
Иначе
КонецЕсли;
Разница = ТекДата-НачалоЧаса(ТекДата);
Пока Разница >= Шаг*60 Цикл
Разница = Разница - Шаг*60
КонецЦикла;
Если Разница/Шаг>=0.5 Тогда
НоваяДата = ТекДата + шаг*60-Разница;
Иначе
НоваяДата = ТекДата - Разница;
КонецЕсли;
Возврат НоваяДата
КонецФункции
Правильность сам проверь
|
|