![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как определить дату предшедствующую указанной [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