Вверх ↑
Ответов: 1305
Рейтинг: 29
#1: 2008-12-03 16:39:53 ЛС | профиль | цитата
tsdima писал(а):
Десятичной дробью выражать часть суток неудобно. Один час получится 1/24 = 0,041666666666666666666666666666667

Зачем далеко ходить?

#pas
var
t: TTime;
-----
t := StrToTime('1:00:00');
Выполнение этого кода дает t=0,0416666666666667
Т.о. 1 час равен 1/24 суток, т.е. значение после запятой есть доли суток. И при чем здесь вообще секунды-то? Так устроен формат TDateTime в Дельфях
------------ Дoбавленo:

Система справок по Дельфи писал(а):

Тип TDateTime представляет собой число с плавающей запятой, целая часть которого содержит число дней, отсчитанное от некоторого начала календаря, а дробная часть равна части 24-часового дня, т.е. характеризует время и не относится к дате. Для 32-разрядных версий Delphi за начало календаря принята дата 00 часов 30 декабря 1899 года. В Delphi 1 за начало отсчета принят год 1, т.е. для перевода даты Delphi 1 в дату последующих версий Delphi надо вычесть из даты число 693594.

Прибавление к значению типа TDateTime целого числа D равносильно увеличению даты на D дней. Разность двух значений типа TDateTime дает разность двух дат с точностью до долей дня.

карма: 0

0