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

Вниз

Что за глюк с вычислениями времени?   Найти похожие ветки 

 
Aleksandr ©   (2003-05-20 11:20) [0]

Вызываю DaysBetween() между двумя полями типа TDate (20.05.2003 и 30.05.2003). Говорит, что 11 дней. Ввожу цифрами (в эвале) 37777 и 37767 - тоже считает, что 11... Что это за прикол?


 
dtrn   (2003-05-20 11:33) [1]

Формула = date1 - date2 +1
20..30 = 11


 
AleksandrKu   (2003-05-20 11:38) [2]

а ты сам на пальцах посчитай
20 -1
21 -2
...
30 -11


 
Aleksandr ©   (2003-05-20 11:47) [3]

Да вот нифига. В другой программе по тому же механизму правильно считает. А в этой, кстати, после пары перекомпиляций вообще -1 стала возвращать (при том, что у меня выражение стоит в abs).
Чего на пальцах считать, открой калькулятор и прибавь к 20 10. Сколько будет?


 
Verg ©   (2003-05-20 12:04) [4]

Тем не менее:

function DaysBetween(Date1, Date2: TDateTime): Longint;
begin
Result := Trunc(Date2) - Trunc(Date1) + 1;
if Result < 0 then Result := 0;
end;
(C) RxLib

Если тебя не устраивает эта функция, то считай сам :

trunc(Date2)-trunc(Date1)


 
Johnmen ©   (2003-05-20 12:08) [5]

Ну если тебе в лом глянуть хелп, то :
(целое число суток)
20.05.2003 - 1
21.05.2003 - 2
...
30.05.2003 - 11


 
Anatoly Podgoretsky ©   (2003-05-20 12:19) [6]

Aleksandr © (20.05.03 11:47)
А ты какую дату не считаешь, 20 или 30?
Тогда по твоей логие должно быть 9 дней, это именно столько между 20 и 30



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
3-94717
igor
2003-05-05 15:28
2003.05.29
Кодировка в ADO


3-94738
Alexandr3
2003-05-08 21:41
2003.05.29
Убрать запрос пароля для Парадоксовской таблицы


14-95053
Дмитрий К.К.
2003-05-08 05:52
2003.05.29
Именинники 8 мая


1-94841
Vulko
2003-05-19 20:42
2003.05.29
FileListBox


1-94952
acsoft
2003-05-18 09:45
2003.05.29
Как создать скриншот всего экрана, не только окна самой программы