Имя: Пароль:
1C
1С v8
Время в число
,
0 wladimir90
 
31.01.12
15:43
Всем привет. Необходимо преобразовать 0001.01.01 18.30.00 в 18,5 - если с часами все ясно, то как быть с минутами? С определенным допуском умножить на 1.666? Или есть более разумные варианты?
1 mozzga
 
31.01.12
15:43
глупый вопрос - а зачем?
2 Господин ПЖ
 
31.01.12
15:43
>Или есть более разумные варианты?

уволицо...
3 Азат
 
31.01.12
15:44
а никак нельзя отбросить дату и анализировать только время?

Типа (Часы * 3600 + Минуты * 60 + Секунды) / 3600
4 andrewks
 
31.01.12
15:45
Час(Дата)+Минута(Дата)/60+Секунда(Дата)/3600
5 PR
 
31.01.12
15:45
А что, количество минут поделить на 60 и умножить на 100 уже не катит?
6 PR
 
31.01.12
15:46
+(5) Точнее даже на 100 умножать не надо.
7 Serg_1960
 
31.01.12
15:47
Имхо: округлить с нужной точностью результат ((Секунды/60+Минуты)/60)+Часы
8 Serg_1960
 
31.01.12
15:49
Хех :) А ведь ТС так и не сказал зачем это нужно.
9 Ненавижу 1С
 
гуру
31.01.12
15:50
у меня хранится с точностью до минуты, так:

Время = Час(ДатаВремя) * 60 + Минута(ДатаВремя);
10 wladimir90
 
31.01.12
15:50
Всем спасибо. Помогли :) (кроме УГ (1) и (2));

(8) Дописываю переписаную конфу )
11 Ненавижу 1С
 
гуру
31.01.12
15:52
(10) зря ты так, от постановки задачи многое зависит
12 Serg_1960
 
31.01.12
15:54
(11) +1. Иногда постановка такова, что и 2+2=5 :)
13 wladimir90
 
31.01.12
15:56
(11) (12) В регистре время хранится в ресурсе "Час" ессно числовом ) Нужно что бы хранились не только часы но и минуты (причем точность минут может быть не оч. высокой, не принципиально). Самое простое и логичное - использовать дробную часть. Можно конечно и код переписать в n документах, но кому это надо?
14 Господин ПЖ
 
31.01.12
15:57
людей хватающих первую попавшеюся формулу (по причине невозможности сформулировать условия по причине отсутствия мозга) надо выкидывать на мороз
15 wladimir90
 
31.01.12
16:01
(14) Ну и как там, на морозе?
16 Господин ПЖ
 
31.01.12
16:02
>Самое простое и логичное - использовать дробную часть

мдя...
17 mozzga
 
31.01.12
16:03
(0) Для чего надо такое время в непонятных единицах, например 18,78 часов?
18 Ненавижу 1С
 
гуру
31.01.12
16:04
(17) ну может это используется в каких расчетах, там ватт*час ))
19 mozzga
 
31.01.12
16:04
(0) И почему это сразу УГ, я вникнуть в проблему хочу, на путь истинный направить.
20 mozzga
 
31.01.12
16:06
>(причем точность минут может быть не оч. высокой, не принципиально)
(18) т.е. у нас все жкх по такой схеме работают :) Так вот он тот программер нехороший!
21 ptiz
 
31.01.12
16:09
(0) Храни кол-во секунд от начала суток. Поверь - так лучше.
22 wladimir90
 
31.01.12
16:12
(19) Ты не уг, прости )

Не поверите - для расчета зарплаты. А почему такая точность, да потому что время расчитывается с таким шагом - 18.00, 18.30, 19.00.
(21) Под полноценную дату дольше переделывать.
23 Fish
 
31.01.12
16:15
(22) Переделывать может и дольше, но, ИМХО, правильней :)) Интересно 18.15 у тебя в какую сторону округляться будет: в сторону 18.00 или 18.30?
24 wladimir90
 
31.01.12
16:18
(23) Правильней это да. Но к сожалению на первом месте у меня скорость и лишь на втором правильность.
Округление в ту, что выгодней работодателю :) За исключением всяких 18.59 )
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.