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

Вниз

Как вычислить разницу в датах?   Найти похожие ветки 

 
caries   (2006-03-02 13:07) [0]

Подскажите, плз, как вычислить разницу в датах, т е в виде дни.месяцы.годы. Заранее спасибо)


 
TUser ©   (2006-03-02 13:11) [1]

DaysBetween


 
azl ©   (2006-03-02 13:11) [2]

DaysBetween


 
caries   (2006-03-02 13:15) [3]

спасибо)))


 
Desdechado ©   (2006-03-02 13:59) [4]

> в виде дни.месяцы.годы.
не получится, ибо месяцы и годы - разной длины
в каких тебе считать надо?


 
VICTOR_   (2006-03-02 23:28) [5]

Как вариант(схематично)
DeltaYear:=Year2-Year1;
if Month2>=Month1 then
 DeltaMonth:=Month2-Month1
else
begin
  DeltaMonth:=Month2-Month1+12;
  DeltaYear:=DeltaYear-1;
end;
if Day2>=Day1 then
 DeltaDay:=Day2-Day1
else
begin
  DeltaDay:=Day2-Day1+DaysPerMonth(Month1);//DaysPerMonth - необходимо написать функцию для получения количества дней в месяце
  DeltaMonth:=DeltaMonth-1;
end;


Только для улучшения точности вычисления разницы дней надо учитывать что если в обоих датах - последний день месяца - то разница в днях всегда будет равна 0.
Напр.
30 апреля - 31 марта = 0 дней
30 апреля - 30 марта = 0 дней
30 апреля - 29 марта = 1 день
29 апреля - 31 марта = -2 дня
29 апреля - 30 марта = -1 дня
31 мая - 30 апреля = 0 дней
31 мая - 29 апреля = 2 дня
30 мая - 30 апреля = 0 дней
30 мая - 29 апреля = 1 день


 
Германн ©   (2006-03-03 02:22) [6]


> Desdechado ©   (02.03.06 13:59) [4]
>
> > в виде дни.месяцы.годы.
> не получится, ибо месяцы и годы - разной длины
> в каких тебе считать надо?
>

Получится, если в разности используются реальные даты.  Но реализацию сего я не знаю.


 
Anatoly Podgoretsky ©   (2006-03-03 07:45) [7]

Германн ©   (03.03.06 02:22) [6]
Это я тебе подскажу, надо будет нарисовать таблицк соответствий на 365*365 и вторую 365*366



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

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

Наверх




Память: 0.48 MB
Время: 0.071 c
2-1143009568
burk
2006-03-22 09:39
2006.04.09
Как открыть окно эксплорера?


15-1142925934
nick-from
2006-03-21 10:25
2006.04.09
Отслеживание выходов в интернет по-простому


2-1143184401
mmms
2006-03-24 10:13
2006.04.09
Здравствуйте! Простите за простой вопрос, не могу преобразовать


1-1141384152
Layner
2006-03-03 14:09
2006.04.09
Помогите кодом, где из компанента создается форма


2-1143091143
Nsk3D
2006-03-23 08:19
2006.04.09
Filter