Текущий архив: 2004.02.13;
Скачать: CL | DM;
Вниз
Плюс один месяц Найти похожие ветки
← →
Натуся © (2004-02-01 23:23) [0]Как к дате прибавлять один месяц?
Например,
03.11.2004
03.12.2004
03.01.2005
← →
Eugene © (2004-02-01 23:29) [1]Есть такая процедурка:
IncAMonth(var Year, Month, Day: Word; NumberOfMonths: Integer = 1)
← →
jack128 © (2004-02-01 23:40) [2]
> IncAMonth
Только IncMonth
← →
Alexander666 © (2004-02-02 02:25) [3]Вот держи, помню сам как-то писал:
const
INC_DAY_PART = 0;
INC_MONTH_PART = 1;
INC_YEAR_PART = 2;
function IncDate(FDate: TDateTime; IncPart, Value: Integer): string;
var
Day, Month, Year: Word;
begin
DecodeDate(FDate, Year, Month, Day); //Перекодировка даты по переменным
case IncPart of
INC_MONTH_PART: //Увеличение месяца
begin
Month := Month + Value;
if Month >= 13 then //Если месяц равен 13, то прибавлятся год
begin //и месяц становится равным 1
Month := Month - 12;
Year := Year + 1;
end;
end;
INC_YEAR_PART: Year := Year + Value; //Увеличение года
end;
if (Month = 2) and (Day > 28) then
Day := 28;
if IncPart <> INC_DAY_PART then
Result := DateToStr(EncodeDate(Year, Month, Day))
else
Result := DateToStr(FDate + Value);
end;
← →
nejest (2004-02-02 12:58) [4]а просто добавить к дате 30. ведь дата это просто число дней произошедших не помню с какой даты.
← →
jack128 © (2004-02-02 13:04) [5]
> а просто добавить к дате 30.
А почему не 31? Или не 28 или не 29? ;-)
> просто число дней произошедших не помню с какой даты.
с 31.12.1899
← →
Sandman25 © (2004-02-02 13:08) [6]Как пишет в таких случаях Anatoly Podgoretsky, а что делать при добавлении месяца к 31 января. Что должно получиться - 28 февраля, 29 февраля (если есть), 1 марта, 2 марта, 3 марта?
Страницы: 1 вся ветка
Текущий архив: 2004.02.13;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.038 c