Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.01.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
Керик   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.009 c
4-62894
race1
2002-12-01 15:44
2003.01.20
api


1-62534
John
2003-01-10 21:31
2003.01.20
TImage и OpenDialog


1-62537
diww
2003-01-08 18:23
2003.01.20
Ввод в Edit только цифр


14-62726
Mr.Ice
2003-01-03 21:58
2003.01.20
как обрезать переменную


14-62850
Марина
2003-01-03 15:13
2003.01.20
редактор с поддержкой .doc





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский