Метод DateTime.AddMonths
Метод AddMonths учитывает длину
месяцев и високосные годы - см.
DaysInMonth.
31 января плюс месяц даёт
последний день февраля, а не 30
календарных дней. Годы меняют через
AddYears.
Синтаксис
DateTime later = dateTime.AddMonths(1);
Пример
Давайте прибавим месяц к
31 января 2020:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 1, 31);
DateTime res = dt.AddMonths(1);
Console.WriteLine(res.Day);
}
}
Результат выполнения кода:
29
Пример
Давайте отнять месяц от
1 марта 2020:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 3, 1);
DateTime res = dt.AddMonths(-1);
Console.WriteLine(res.Month);
Console.WriteLine(res.Day);
}
}
Результат выполнения кода:
2
1
Пример
Давайте проверим базовый dt
после вызова:
using System;
class Program
{
static void Main()
{
var dt = new DateTime(2020, 1, 2, 3, 4, 5);
dt.AddMonths(5);
Console.WriteLine(dt.Month);
}
}
Результат выполнения кода:
1
Смотрите также
-
AddYears,
прибавить годы -
AddDays,
сдвиг по дням -
IsLeapYear,
високосный февраль -
DaysInMonth,
сколько дней в месяце