DateTime.AddMonths(Int32) 메서드

정의

지정된 월 수를 이 인스턴스의 값에 더하는 새 DateTime을 반환합니다.

public:
 DateTime AddMonths(int months);
public DateTime AddMonths (int months);
member this.AddMonths : int -> DateTime
Public Function AddMonths (months As Integer) As DateTime

매개 변수

months
Int32

월 수입니다. months 매개 변수는 음수일 수도 있고 양수일 수도 있습니다.

반환

이 인스턴스가 나타내는 날짜 및 시간과 months가 나타내는 월 수의 합이 값인 개체입니다.

예외

결과는 DateTimeDateTime.MinValue 보다 작거나 DateTime.MaxValue보다 큽니다.

또는

months가 -120,000보다 작거나 120,000보다 큽니다.

예제

다음 예제에서는 2015년 12월 마지막 날에 0~15개월을 추가합니다. 이 경우 AddMonths 메서드는 매월 마지막 날의 날짜를 반환하고 윤년을 성공적으로 처리합니다.

using System;

public class Example
{
   public static void Main()
   {
      var dat = new DateTime(2015, 12, 31);
      for (int ctr = 0; ctr <= 15; ctr++)
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"));
   }
}
// The example displays the following output:
//       12/31/2015
//       1/31/2016
//       2/29/2016
//       3/31/2016
//       4/30/2016
//       5/31/2016
//       6/30/2016
//       7/31/2016
//       8/31/2016
//       9/30/2016
//       10/31/2016
//       11/30/2016
//       12/31/2016
//       1/31/2017
//       2/28/2017
//       3/31/2017
open System

let dat = DateTime(2015, 12, 31)
for i = 0 to 15 do
    printfn $"{dat.AddMonths i:d}"

// The example displays the following output:
//       12/31/2015
//       1/31/2016
//       2/29/2016
//       3/31/2016
//       4/30/2016
//       5/31/2016
//       6/30/2016
//       7/31/2016
//       8/31/2016
//       9/30/2016
//       10/31/2016
//       11/30/2016
//       12/31/2016
//       1/31/2017
//       2/28/2017
//       3/31/2017
Module Example
   Public Sub Main()
      Dim dat As Date = #12/31/2015#
      For ctr As Integer = 0 To 15
         Console.WriteLine(dat.AddMonths(ctr).ToString("d"))
      Next
   End Sub
End Module
' The example displays the following output:
'       12/31/2015
'       1/31/2016
'       2/29/2016
'       3/31/2016
'       4/30/2016
'       5/31/2016
'       6/30/2016
'       7/31/2016
'       8/31/2016
'       9/30/2016
'       10/31/2016
'       11/30/2016
'       12/31/2016
'       1/31/2017
'       2/28/2017
'       3/31/2017

설명

이 메서드는 이 DateTime 개체의 값을 변경하지 않습니다. 대신 값이 이 작업의 결과인 새 DateTime 개체를 반환합니다.

메서드는 AddMonths 윤년 및 한 달의 일 수를 고려하여 결과 월 및 연도를 계산한 다음 결과 DateTime 개체의 일 부분을 조정합니다. 결과 날짜가 결과 월의 유효한 날짜가 아닌 경우 결과 월의 마지막 유효한 날짜가 사용됩니다. 예를 들어 3월 31일 + 1개월 = 4월 30일, 3월 31일 - 1개월 = 윤년 2월 28일, 윤년 2월 29일.

결과 DateTime 개체의 하루 중 시간 부분은 이 instance 동일하게 유지됩니다.

적용 대상