Вниз
Скачать: CL | DM;

Как сравнить две даты   Найти похожие ветки 

 
-=DeMoH=-   (2007-05-17 09:57) [0]

Допустим что у нас есть строка в которой находится дата в полном формате (например "12.05.2007 12:47:56"). нужно сравнить ее с текущей датой и в результате получить сколько суток прошло с первой даты до текущей...


 
Loginov Dmitry ©   (2007-05-17 10:07) [1]

StrToDateTime() - вернет дату в вещественном формате.

Путем вычитание это даты из текущей (Now) получишь разницу - то что и требуется, причем в долях суток.
Можешь округлить (Trunc, Round)


 
ЮЮ ©   (2007-05-17 10:07) [2]

Привести строку к TDateTime и найти разницу с Now() или Date(). Целая часть и будет разностью в целых сутках. Дробная - часть суток ( 0.5 = 12 часов)


 
-=DeMoH=-   (2007-05-17 10:46) [3]

пишу так:

     str:=datetostr(date)+" "+timetostr(time);
     jok:=strtodatetime(str)-strtodatetime(dbedit21.Text);

где jok - типа double
в dbedit21,text находится "26.04.2007 14:56:12"
результат почему то 0


 
Kolan ©   (2007-05-17 10:51) [4]

> суток прошло с первой даты до текущей&#133

DaysBetween


 
ЮЮ ©   (2007-05-17 10:53) [5]

а str точно имеет в твоем случае вид "17.05.07 10:46:15". Если другой, то strtodatetime применять не совсем корректно.


 
-=DeMoH=-   (2007-05-17 11:02) [6]

точно такой - в нее загонялось по принципу datetostr(date)+" "+timetostr(time);
но несколькими днями раньше


 
-=DeMoH=-   (2007-05-17 11:03) [7]

и как работать с DaysBetween


 
ЮЮ ©   (2007-05-17 11:19) [8]

результат почему то 0

Не верю. В результате - ощидаемые 19.5:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Application.MessageBox(
   PChar(
     DateTimeToStr( Now() - 19.5 ) + #13 +
     FloatToStr(
       StrToDateTime( DateTimeToStr( Now() ) ) -
       StrToDateTime( DateTimeToStr( Now() - 19.5 ) )
     )
   ),
   PChar(DateTimeToStr(Now())),
   0
 )
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
1-1176175233
svlc
2007-04-10 07:20
2007.06.03
Как узнать имя поля в DBGrid


11-1158851694
Vladimir Kladov
2006-09-21 19:14
2007.06.03
Версия 2.39


1-1175705210
Углук
2007-04-04 20:46
2007.06.03
Шкала в TCharte


15-1178117833
Kerk
2007-05-02 18:57
2007.06.03
Бышовец выгнал Лоськова


2-1179122720
Шакал
2007-05-14 10:05
2007.06.03
Сортировка по дате




   Наверх