![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как подсчитать время прошедшее между двумя датами?
SSSdd © (2004-10-30 10:06:00)Имеется одна дата 12.06.2004 и вторая дата 24.08.2004.
Как программно подсчитать сколько прошло времени, в месяцах, днях и годах между начальной и конечной датами?
Anatoly Podgoretsky (2004-10-30 11:26:00) [21]begin...end © (30.10.04 11:24) [7]
Ну так прочитай поправку в [6]
begin...end (2004-10-30 11:24:00) [22]
> [6] Anatoly Podgoretsky © (30.10.04 11:21)
Честно говоря, не понял, что Вы хотели сказать :-)
Может ли между 12.06.2004 и 13.06.2004 быть больше, чем 2 дня? Или Вы про округление/отбрасывание?
Anatoly Podgoretsky (2004-10-30 11:21:00) [23]0 1 2 и
то первй уточняющий вопрос, есть и еще один, и без ответа на них нельзя сказать какую формула расчета использовать
begin...end (2004-10-30 11:19:00) [24]
> [4] Anatoly Podgoretsky © (30.10.04 11:14)
Не больше двух.
Anatoly Podgoretsky (2004-10-30 11:14:00) [25]12.06.2004 и 13.06.2004, сколько дней 1, 2 или 3?
-SeM- (2004-10-30 10:47:00) [26]DateUtils *Between
SergP (2004-10-30 10:27:00) [27]Например:
DecodeDate(datebegin,y1,m1,d1);
DecodeDate(dateend + 1,y2,m2,d2);
dx := d2 - d1;
if dx < 0 then
begin
inc(dx,31);
dec(m2);
end;
mx := m2 - m1;
if mx < 0 then
begin
inc(mx,12);
dec(y2);
end;
yx := y2 - y1;
Вобщем что-то в этом роде.... ИМХО ...
SergP (2004-10-30 10:16:00) [28]В днях можно (от большей даты отнять меньшую).
А вот в днях, месяцах, годах - это самому придется писать такую функцию, ибо результат неоднозначен так как месяц может включать в себя разное число дней (от 28 до 31)