Функція IncMonth в Delphi збільшує змінну TDateTime на певну кількість місяців.
SysUtils unit
- function IncMonth (const StartDate : TDateTime {; NumberOfMonths : Integer = 1}) : TDateTime;
- function IncMonth (const Date: TDateTime; NumberOfMonths: Integer = 1): TDateTime;
Варіант 1.
Функція IncMonth повертає значення TDateTime, яке на NumberOfMonths більше, ніж передане значення StartDate.
Елемент часу значення StartDate передається незмінним у результат.
Значення року зростає відповідно.
Значення збільшення є довільним (за замовчуванням 1).
Після збільшення місяця, якщо значення дня занадто велике для отриманого місяця/року, воно зменшується до найвищого значення отриманого місяця/року.
Варіант 2
Функція IncMonth повертає дату, зсунуту по відношенню до зазначеної дати Date на NumberOfMonths місяців. Кількість місяців NumberOfMonths може бути негативним.
Примітка.
Функції DecMonth немає.
Натомість, використовуйте IncMinute з негативним збільшенням.
Функція IncMonth: Додаємо значення до дати
var
myDate : TDateTime;
begin
myDate := StrToDate('31/01/2000'); // Кінець січня у високосному році
ShowMessage('myDate = '+DateToStr(myDate));
// Приріст на 1 (значення за замовчуванням)
// 31-е січня 2000 ==> 31-е лютого 2000 (неправильно) ==> 29-е лютого 2000
myDate := IncMonth(myDate);
ShowMessage('myDate + 1 month = '+DateToStr(myDate));
// Прирощуємо (збільшуємо) на 12 місяців
// 29-е лютого 2000 ==> 29-е лютого 2000 (неправильно) ==> 28-е лютого 2001
myDate := IncMonth(myDate, 12); // Приріст на 12 місяців
ShowMessage('myDate + 12 months = '+DateToStr(myDate));
end;
Результат
myDate = 31/01/2000
myDate + 1 months = 29/02/2000
myDate + 12 months = 28/02/2001
Подібні функції, процедури та команди
IncDay — прирощує змінну типу TDateTime на + чи - число днів.
IncMinute — прирощує змінну типу TDateTime на + або - число хвилин.
IncYear — збільшує змінну TDateTime на кількість років.
IncSecond — збільшує змінну типу TDateTime на + або - число секунд.
IncMillisecond — прирощує змінну типу TDateTime на + або - число мілісекунд.
