Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.20;
Скачать: CL | DM;

Вниз

Разность дат   Найти похожие ветки 

 
Керик   (2003-01-05 13:39) [0]

Прошу подсказать - как определить разность между двумя датами типа TSystemTime или TDateTime? Заранее благодарю!


 
Delirium^.Tremens ©   (2003-01-05 13:54) [1]

EncodeDate(вставить нужное из записи TSystemTime) и сравнивай полученное с TDateTime


 
Delirium^.Tremens ©   (2003-01-05 13:55) [2]

Sorry, EncodeDateTime


 
Delirium^.Tremens ©   (2003-01-05 13:56) [3]

А есть еще и DateTimeToSystemTime


 
Delirium^.Tremens ©   (2003-01-05 13:57) [4]

:-) Остановимся на SystemTimeToDateTime :-)


 
Керик   (2003-01-07 09:44) [5]

А как сравнить? Пример, если можно :-)


 
Anatoly Podgoretsky ©   (2003-01-07 10:58) [6]

Для TDateTime сам бог велел использовать страндартный метематический операто МИНУС
Разница := D1-D2


 
Керик   (2003-01-08 17:17) [7]

Я делаю так, но в этой разнице где обе даты абсолютно одинаковы, у меня получается 1899 год, 12 месяц и 30 день! Как это исправить? Вот как я это делаю:

procedure Example;
var D1, D2, D3: TDateTime;
D4: TSystemTime;
begin
D1 := Now;
D2 := Now;
D3 := D2-D1;
DateTimeToSystemTime(D3, D4);
D4.wYear := D4.wYear + 0;
ShowMessage(Format("%d.%d.%d %d:%d:%d:%d", [D4.wYear, D4.wMonth, D4.wDay, D4.wHour, D4.wMinute, D4.wSecond, D4.wMilliSeconds]));
end;


 
Delirium^.Tremens ©   (2003-01-08 17:20) [8]

Now - Now ? Это прикольно. Мы что же сеймомент с симмоментом сравниваем?


 
Anatoly Podgoretsky ©   (2003-01-08 17:23) [9]

Керик (08.01.03 17:17)
С какиз пор разность дат являет датой, это какая же у тебя будет дата 2.01.2003-1.01.2003


 
Smithson ©   (2003-01-08 17:24) [10]

Правильно получается. Now-Now = 0, а ноль Delphi понимает как тот самый 1899 год.
Опиши точнее, что тебе надо?.


 
Керик   (2003-01-09 05:22) [11]

Хочу определить сколько лет, месяцев, дней, часов, минут, секунд, миллисекунд между двумя датами.


 
Separator ©   (2003-01-09 05:40) [12]

Переведи все к милесекундам, а там уже и вычитай


 
Керик   (2003-01-09 07:28) [13]

Separator, а примерчик можешь подкинуть?


 
Anatoly Podgoretsky ©   (2003-01-09 07:41) [14]

Ответь сколько дней в месяце, и допустим ты получил разность (d2-d1) 29 дней - это что, вот попробуй перевести это на бумаге, интересует ответ в твоем формате, оснобенно в части дней/месяцев


 
Думкин   (2003-01-09 07:45) [15]

ну да, и в году сколько дней?


 
Керик   (2003-01-10 22:40) [16]

Должна же быть функция, определяющая хотя бы количество дней, часов, минут, секунд, миллисекунд между двумя датами <font color="red"> по календарю</font>, т.е. с учётом количества дней в каждом конкретном месяце конкретного года. Ведь есть же функция DayOfWeek, определяющая день недели по конкретной дате, т.е. учитывающая конкретный год, месяц! Вот бы кто-нибудь грамотный товарищ примерчик привёл.



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

Текущий архив: 2003.01.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.018 c
3-62364
oss
2002-12-19 18:14
2003.01.20
ADO


3-62420
бобёр
2002-12-26 16:03
2003.01.20
IB


4-62941
alvin
2002-12-04 12:23
2003.01.20
Tray


3-62374
Roman__M
2002-12-24 15:57
2003.01.20
Построение отчета с помощью QuickReport


4-62895
Cosmic
2002-12-02 22:12
2003.01.20
Диалог