![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
daysbetween [D6, XP]
AntonMos © (2012-11-23 16:29:00)Мастера подскажите из за чего функция daysBetween начинает не правильно считать дни между датами. у меня в программе есть след код
if code='00634' then
begin
d:=daysbetween(strtodate('31.08.2012'),strtodate('09.09.2012'));
showmessage(inttostr(d)+ ' дни');
end;
d=9 а должно быть 10
открываю другой project считает как и должно быть 10
AntonMos (2012-11-23 17:22:00) [1]здесь я по ошибке в uses подключил dateutil вместо dateutils из за этого не правильно считала функция. думаю что когда dateutil считает включая первую дату dateutils не вкючая первую дату.
наверное dateutilеще пригодиться
sniknik (2012-11-23 17:04:00) [2]> "дней между"
если подумать... придраться, то можно посчитать как 8, но видимо исторически так (в sql between аналогичен по сути) что начало тоже считается...
а вот 10 никак не может быть.
sniknik (2012-11-23 17:01:00) [3]daysbetween - переводится как "дней между", а не как "включительно". 9 должно быть.
MBo (2012-11-23 17:00:00) [4]Разница между этим датами ровно 9 дней. Откуда 10 берётся?
Returns the number of whole daysbetween two specified TDateTime values
AntonMos (2012-11-23 16:50:00) [5]дело в том что я не какие аргументы не передаю. А пишу как выше написал.
daysbetween(strtodate(' 31.08.2012'),strtodate(' 09.09.2012'));
считает как 9
Сергей М. (2012-11-23 16:46:00) [6]
> из за чего функция daysBetween начинает не правильно считать
> дни между датами
Ни из-за чего.
Она всегда правильно считает, если ей переданы правильные аргументы.