Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
ВнизКак сравнить две даты Найти похожие ветки
← →
-=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]> суток прошло с первой даты до текущей…
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 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.06.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.046 c