![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Есть дата записанная в DateTimePicker1 равная 10.09.2010
Есть время, указанное в поле Edit1.text:='23:55:00' Как узнать разницу в часах между текущим системным временем и исходными данными? Delphicode.org - справочник Delphi |
#2
|
|||
|
|||
![]() Код:
var H, M, S : Word; RecDate : TDateTime; Diff : TDateTime; begin H := StrToInt(Copy(Edit1.Text,1,2)); M := StrToInt(Copy(Edit1.text,4,2)); S := StrToInt(Copy(Edit1.Text,7,2)); RecDate := DateTimePicker1.Date + EncodeTime(H,M,S); // Здесь у EncodeTime можнет быть доп-параметр. Выставить в 0. Diff := Now - RecDate; // чистая разница. Также см функции в модуле DateUtils end; |
#3
|
||||
|
||||
![]() А на кой разделять Дату и Время, что-бы потом думать как собрать? Не ищем легких путей? Тогда наверное так:
Код:
Var DeltaTime: TDateTime; begin DeltaTime := Now - StrToDateTime(DateToStr(DateTimePicker1.Date) +' '+ Edit1.Text); end; lmikle: Страдалецъ, накажу ведь!!! Уж тебе положено знать правила на форуме!!! PS: Свойства DateTimePicker1.Format := 'dd.mm.yyyy hh:mm:ss', DateTimePicker1.Kind := dtkTime, DateTimePicker1.DateTime возможно несколько облегчат жизнь. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#4
|
||||
|
||||
![]() Спасибо, Страдалець, заработало. Показывает разницу в часах, минутах, секундах - но не более 1 суток. А как сделать, чтобы отображалось количество дней?
Необходимо получить что-то типа разница: 8 дней, 20 часов, 15 мин. Возможно ли так отобразить? Delphicode.org - справочник Delphi |
#5
|
||||
|
||||
![]() Цитата:
Попробовал Ваш вариант, также не считает количество дней между датами, только часы в пределах одних суток. Может можно как-то подправить? Delphicode.org - справочник Delphi |