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

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

Как определить дату предшедствующую указанной [D6]


AFrolov ©   (2002-11-05 10:35:00) 

на заданное кол-во лет, месяцев, дней, часов, минут, секунд?
Например если задано первое марта и из него вычесть 1 месяц то получится первое февраля.
Уверен, что данная задача была уже не раз успешно решена. Может кто поделится решением?
Заранее спасибо.


KoluChi   (2002-11-05 13:48:00) [1]

> В Delphi6 уже есть ф-ии IncMonth, IncYear и т.п. (SysUtils)
Они были всегда (TDateTime).


Рыжик   (2002-11-05 12:07:00) [2]

В Delphi6 уже есть ф-ии IncMonth, IncYear и т.п. (SysUtils)


KoluChi   (2002-11-05 11:44:00) [3]


function IncDate(const ADate: TDateTime; IncYear, IncMonth, IncDay: Word): TDateTime;
begin
Result := IncMonth(ADate, IncMonth + IncYear * 12) + IncDay;
end;


Что-то в этом духе (не проверял, но должно работать)
параметры, естественно, могут быть и отрицательными.


icWasya   (2002-11-05 11:36:00) [4]

TDateTime - это число суток с 1.1.1900 00:00:00

т.е. Trunc(Data2-Data1) - число суток
(Data2-Data1)*24 - число часов
(Data2-Data1)*86400 - число сукунд


Skier   (2002-11-05 10:37:00) [5]

>AFrolov
как вариант :
DateTimeToSystemTime(...) и
SystemTimeToDateTime(...)


SaS13   (2002-11-05 10:36:00) [6]

EncodeDate, DecodeDate


Наверх

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