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

Вниз

Глупый вопрос про дату   Найти похожие ветки 

 
TAN   (2003-01-15 10:44) [0]

Как прибавить к дате ровно один год (что бы там всякие высакосные не высчитывать)
Например в ПХП есть такое (data+1 year)


 
RWolf   (2003-01-15 10:46) [1]

DecodeDate(MyDate,Year, Month, Day);
inc(Year);
MyDate:=EncodeDate(Year, Month, Day);


 
Zz_   (2003-01-15 10:46) [2]

IncYear в Unit DateUtils


 
RWolf   (2003-01-15 10:50) [3]

Zz_
в D5 вроде как нет такого


 
Zz_   (2003-01-15 10:54) [4]

D6


 
REA ©   (2003-01-15 11:29) [5]

В D7 изврат такой:
function IncMonth(const DateTime: TDateTime; NumberOfMonths: Integer): TDateTime;
var
Year, Month, Day: Word;
begin
DecodeDate(DateTime, Year, Month, Day);
IncAMonth(Year, Month, Day, NumberOfMonths);
Result := EncodeDate(Year, Month, Day);
ReplaceTime(Result, DateTime);
end;

procedure IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1);
var
DayTable: PDayTable;
Sign: Integer;
begin
if NumberOfMonths >= 0 then Sign := 1 else Sign := -1;
Year := Year + (NumberOfMonths div 12);
NumberOfMonths := NumberOfMonths mod 12;
Inc(Month, NumberOfMonths);
if Word(Month-1) > 11 then // if Month <= 0, word(Month-1) > 11)
begin
Inc(Year, Sign);
Inc(Month, -12 * Sign);
end;
DayTable := @MonthDays[IsLeapYear(Year)];
if Day > DayTable^[Month] then Day := DayTable^[Month];
end;

год соответственно 12 месяцев. Хм. А попроще никак что ли? Кстати оно проверяет на високосность то и лежит все это безобразие в SysUtils;



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
6-72428
Mirolex
2002-11-13 04:15
2003.01.23
Как программно отправить email...


14-72482
TTCustomDelphiMaster
2003-01-04 19:05
2003.01.23
Top10


6-72439
Taljan
2002-11-19 14:17
2003.01.23
NMHTTP !!!


14-72509
Совсем НОВИЧОК
2003-01-06 21:37
2003.01.23
Требуется помощь!!!


3-72028
Nil
2002-12-27 06:45
2003.01.23
Как создать БД формата Access с помощью Database Desktop ?