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

Вниз

Промежутки времени   Найти похожие ветки 

 
Sam Stone ©   (2003-10-16 17:47) [0]

Подскажите, как узнать, сколько месяцев сменилось между двумя датами? Число в дате не играет значения, только месяц и год (т.е., например, между 20 марта и 10 апреля 1 месяц). Есть функция MonthsBetween, но она считает месяц равным 30,43 дня. (по ней между 1 февраля и 1 марта 0 месяцев).


 
Anatoly Podgoretsky ©   (2003-10-16 17:50) [1]

DecodeDate, ну а вычитать наверно умеешь


 
Семен Сорокин ©   (2003-10-16 17:55) [2]

если все же не получится вычесть :)), то
uses
DateUtils;

MonthsBetween()


 
Sam Stone ©   (2003-10-16 18:16) [3]

2 Семен Сорокин

Для умеющих вычитать написал: " Есть функция MonthsBetween, но она считает месяц равным 30,43 дня. (по ней между 1 февраля и 1 марта 0 месяцев)."
А мне нужно сколько месяцев сменилось между двумя датами

Так что придется дважды пользовать DecodeDate и вычитать ;)


 
AlexS ©   (2003-10-16 19:31) [4]

Попробуй сделать так:

procedure TForm1.Button1Click(Sender: TObject);
Var d1, d2 : TDateTime;
i, d, m, y: Word;
begin
d1 := StrToDate(Edit1.Text);
d2 := StrToDate(Edit2.Text);
DecodeDate(d1, y, m, d);
i := 0;
While d2>=EncodeDate(y, m+i, d) do Inc(i);
Label2.Caption := IntToStr(i-1);
end;

Тогда у тебя точно получится сколько прошло месяцев.


 
Sam Stone ©   (2003-10-16 19:53) [5]

Я уже сделал. Помоему проще.

var a,b,c,d,e,f,res:word;
begin
decodedate(date1,a,b,c);
decodedate(date2,d,e,f);
res:=(d-b)*12+(e-f)+1;
end;


 
AlexS ©   (2003-10-16 20:07) [6]

Между датами 12.01.03 и 11.01.03 прошел 1 полный месяц, а у тебя покажет 2.


 
Anatoly Podgoretsky ©   (2003-10-16 20:29) [7]

Sam Stone © (16.10.03 19:53) [5]
abs((y1*12+m1)-(y2*12+m2))



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
1-89267
nstur
2003-10-14 13:34
2003.10.27
Работа с компонентами


14-89503
ZeroDivide
2003-10-10 10:43
2003.10.27
Новый альбом MUSE - Absolution. Кто слушает? Какие впечатления?


9-89090
Mover
2003-04-21 13:34
2003.10.27
RPG: Интересное задание, помогите!!!!


1-89290
REA
2003-10-14 10:19
2003.10.27
Ole Document


14-89465
Игорь Шевченко
2003-10-07 12:37
2003.10.27
Бесплатный html-renderer