Имя: Пароль:
1C
 
Округление времени до часа.
0 Маленький Вопросик
 
14.09.15
12:57
Народ, подскажите короткий алгоритм округления времени до часа в:

14.09.2015 08:03:44
14.09.2015 08:23:33
14.09.2015 19:22:11

спасибо
1 Dmitriy_76
 
14.09.15
12:59
прибавить 59 минут и 59 сек.. поссле вычесть колво минут и секунд...
2 Маленький Вопросик
 
14.09.15
13:00
а точнее?
3 Dmitriy_76
 
14.09.15
13:01
наприемр :
Дат = ТекущаяДата();
Дат=Дат+59*61;
Дат = Дат - секунда(Дат)-Минута(Дат);
4 Повелитель
 
14.09.15
13:01
Формат(НужнаяДата,"ДФ='dd.MM.yyyy ЧЧ:мм'")
5 Повелитель
 
14.09.15
13:05
Еще ))
Дат = НачалоДня(Дат) + Час(Дат)*60*60 + Минута(Дат)*60
6 butterbean
 
14.09.15
13:07
(0)
НачалоЧаса(Д+1800)
7 Маленький Вопросик
 
14.09.15
13:11
(6) начало часа- Д - это что?
8 spectre1978
 
14.09.15
13:12
(7) очевидно, дата, округленная до целого часа в меньшую сторону. Если тебе надо в большую, то прибавляешь 60 минут по 60 секунд итого 1800.
9 spectre1978
 
14.09.15
13:13
только более правильно НачалоЧаса (Д) + 1800. Имхо.
10 butterbean
 
14.09.15
13:13
(7) Д - твоя дата
НачалоЧаса() - платформенная функция
11 butterbean
 
14.09.15
13:14
(9) менее
12 spectre1978
 
14.09.15
13:18
(11) в случае если в дате уже круглый час, ваш вариант, мне кажется, даст на выходе час + 1, а надо бы оставить час без изменений. Хотя может я и не прав
13 Маленький Вопросик
 
14.09.15
13:19
(3) поделие не работает
14 spectre1978
 
14.09.15
13:19
(13) см (6)-(12)
15 Маленький Вопросик
 
14.09.15
13:20
самое правильное НачалоЧаса(Стр1.Дата)

всем спасибо
16 spectre1978
 
14.09.15
13:21
(15) если в меньшую сторону, то да
17 butterbean
 
14.09.15
13:21
(12) 1800 это 30 минут
18 Маленький Вопросик
 
14.09.15
13:22
(16) ну если в большую - прибавляю 60*60
19 Dmitriy_76
 
14.09.15
13:22
(13) Дат = Дат - секунда(Дат)-Минута(Дат)*60;
20 spectre1978
 
14.09.15
13:23
(17) Точно, перемножил неправильно
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.