Главная страница
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.022 c
3-62397
stoper
2002-12-23 13:31
2003.01.20
dbf,ASCII


6-62689
V_Pavel
2002-11-21 06:00
2003.01.20
Email+PGP


3-62412
pavelsinicinv
2002-12-26 12:11
2003.01.20
Запрос ... не получается


3-62379
Борис
2002-12-25 08:48
2003.01.20
ДатаВремя в запросе Insert на InterBase


3-62426
valmont
2002-12-26 19:28
2003.01.20
DBGrid