Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как подсчитать время прошедшее между двумя датами?


Страницы:   1 2

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)


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо