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

Вниз

Вычисление даты!   Найти похожие ветки 

 
h@1f-e1f ©   (2003-03-25 21:06) [0]

Извините за маленько ламерский вопрос, но как можно вычислить промежуток времени в месяцах и днях. Промежуток времени задан двумя датами: начало и конец промежутка...


 
Романов Р.В. ©   (2003-03-25 21:19) [1]

procedure CalcDateDelta(lDate, hDate: TDate; var dYear, dMonth, dDay: word);
var
yy1, yy2, mm1, mm2, dd1, dd2: word;
begin
if hDate > lDate then
begin
decodedate(lDate, yy1, mm1, dd1);
decodedate(hDate, yy2, mm2, dd2);
if (mm1>mm2) or ((mm1=mm2) and (dd1>dd2)) then
begin
dYear := yy2 - yy1 - 1;
dMonth := 12 - mm1 + mm2;
end
else
begin
dYear := yy2 - yy1;
dMonth := mm2 - mm1;
end;
if dd1>dd2 then
dec(dMonth);
dDay := trunc(hDate -
incmonth(lDate, dYear * 12 + dMonth));
end
else
begin
dYear := 0;
dMonth := 0;
dDay := 0;
end;
end;




 
h@1f-e1f ©   (2003-03-25 21:25) [2]

Спасибо! А проще никак? Причем тут тип данных word???


 
OxOTHuK   (2003-03-25 22:07) [3]

по-моему можно просто вычесть из одно даты другую, но постараться при этом не перепутать форматы даты исходной и выводимой...


 
Guerrillero ©   (2003-03-25 23:32) [4]

uses
DateUtils

DaysBetween
MonthsBetween

И еще смотри See also по справке



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
1-19627
dimod
2003-03-25 14:10
2003.04.07
Вертикальный вывод текста в ячейку StringGrid


1-19696
Askik
2003-03-26 13:23
2003.04.07
TreeView с возможностью Check для Items, SubItems...


4-19916
Alex
2003-02-06 14:12
2003.04.07
---|Ветка была без названия|---


3-19441
aleksey_sv
2003-03-18 15:42
2003.04.07
DBGrid и CheckBox


3-19414
Vick
2003-03-18 16:47
2003.04.07
Тип uniqueidentifier