Показать сообщение отдельно
  #3  
Старый 11.09.2012, 03:29
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от Red_Garry
Здравствуйте!
Есть полная дата, хранящаяся в переменной D типа TDateTime (к примеру - 10.09.2012 13:25:51). Как посчитать количество минут, прошедших с полуночи того же дня?
Вообще тип TDateTime это обычное вещественное (дробное) число, целая часть которого содержит количество суток прошедших с 30 декабря 1899 года, а дробная часть содержит долю суток прошедших с полуночи. Т.е. если у переменной TDateTime выделить дробную часть и умножить её на количество минут в сутках, то как раз и получится количество минут прошедших с полуночи указанной даты:
Код:
var
  D: TDateTime;
  minuts: Integer;
begin
...
  minuts := Trunc(Frac(D) * MinsPerDay + 0.5);

Или же можно воспользоваться готовой функцией MinuteOfTheDay из модуля DateUtils (там же объявлена и константа MinsPerDay)
Ответить с цитированием