![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите процедуру: как найти количество сек, мин, час, дней [D5, D6, Win95/98, WinME, NT4, Win2k, WinXP]
velk © (2002-09-04 08:07:00)Подскажите процедуру: как найти количество сек, мин, час, дней между двумя датами и time типа
датаначала:TDate
датаокончания:TDate
времяначала :TTime
времяокончания :TTime
Turalyon (2002-09-04 08:48:00) [21]>MBo ©
А может воспользоваться стандартными функциями?
DaysBetween(TDateTime,TDateTime) - количество дней между 2-я датами
HoursBetween, MinutesBetween, SecondsBetween соответственно.
velk (2002-09-04 08:43:00) [22]min:=Trunc((f-hours*24)*1440);ОШИБКА получается
надо так
min:=Trunc((f-hours*60)*1440);:-)))
MBo (2002-09-04 08:42:00) [23]прочитай в хелпе, как устроен TDateTime, и на основе этого сделай именно то,что тебе нужно
velk (2002-09-04 08:39:00) [24]я так понял этот алгоритм выдает разность времени в 3 разных так скаать форматах
в днях часах в минутах?
MBo (2002-09-04 08:34:00) [25]правильно или нет - зависит от конкретного понимания, как именно считать
velk (2002-09-04 08:31:00) [26]Что то он не правильно работает
velk (2002-09-04 08:16:00) [27]Спасибо большое
MBo (2002-09-04 08:14:00) [28]TDateTime- это число double
Если у тебя дата и время хранятся отдельно, то
придется их сложить
d:=(EndDate+EndTime)-(StartDate+StartTime)
целая часть результата - число дней, а дробная - часть дня.
days:=trunc(d);
f:=frac(d);
hours:=Trunc(F*24);
min:=Trunc((f-hours*24)*1440);
про секунды уже сам догадайся
gek (2002-09-04 08:13:00) [29]Разница