UmAlQuraCalendar.AddMonths(DateTime, Int32) 메서드

정의

지정된 첫 날짜에서 지정된 월 수만큼 경과한 날짜를 계산합니다.

public:
 override DateTime AddMonths(DateTime time, int months);
public override DateTime AddMonths (DateTime time, int months);
override this.AddMonths : DateTime * int -> DateTime
Public Overrides Function AddMonths (time As DateTime, months As Integer) As DateTime

매개 변수

time
DateTime

월을 더할 날짜입니다. UmAlQuraCalendar 클래스에서는 1900년 4월 30일 00시 00분 00초(양력 날짜)에서 2077년 11월 16일 23시 59분 59초(양력 날짜) 사이의 날짜만 지원합니다.

months
Int32

더할 월 수를 나타내는 양수 또는 음수입니다.

반환

DateTime

months 매개 변수에서 지정한 날짜에 time 매개 변수에서 지정한 월 수를 더하여 생성한 날짜입니다.

예외

결과 날짜가 UmAlQuraCalendar 클래스에서 지원하는 범위 밖에 있는 경우

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

또는 time 은 이 달력에서 지원하는 범위를 벗어납니다.

예제

다음 예제에서는 값을 인스턴스화 DateTime 하고 Um Al Qura 달력에 여러 구성 요소의 값을 표시합니다. 다음으로, Um Al Qura 달력에서 2년 10개월을 날짜 값에 추가하는 메서드 및 AddMonths 메서드를 호출 AddYears 합니다. 마지막으로 Um Al Qura 달력에 이러한 날짜 구성 요소의 값을 다시 표시합니다.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
      Calendar cal = new UmAlQuraCalendar();

      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
      DisplayCalendarInfo(cal, date1);

      // Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2);
      date1 = cal.AddMonths(date1, 10);

      Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
                        GetCalendarName(cal));
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
      DisplayCalendarInfo(cal, date1);
   }

   private static void DisplayCalendarInfo(Calendar cal, DateTime date1)
   {
      Console.WriteLine("   Calendar:   {0}", GetCalendarName(cal));
      Console.WriteLine("   Era:        {0}", cal.GetEra(date1));
      Console.WriteLine("   Year:       {0}", cal.GetYear(date1));
      Console.WriteLine("   Month:      {0}", cal.GetMonth(date1));
      Console.WriteLine("   DayOfYear:  {0}", cal.GetDayOfYear(date1));
      Console.WriteLine("   DayOfMonth: {0}", cal.GetDayOfMonth(date1));
      Console.WriteLine("   DayOfWeek:  {0}\n", cal.GetDayOfWeek(date1));
   }

   private static string GetCalendarName(Calendar cal)
   {
      return cal.ToString().Replace("System.Globalization.", "").
             Replace("Calendar", "");
   }
}
// The example displays the following output:
//    April 3, 2011 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1432
//       Month:      4
//       DayOfYear:  118
//       DayOfMonth: 29
//       DayOfWeek:  Sunday
//
//    After adding 2 years and 10 months in the UmAlQura calendar,
//    January 1, 2014 in the Gregorian calendar is equivalent to:
//       Calendar:   UmAlQura
//       Era:        1
//       Year:       1435
//       Month:      2
//       DayOfYear:  59
//       DayOfMonth: 29
//       DayOfWeek:  Wednesday
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim date1 As Date = New Date(2011, 4, 3, New GregorianCalendar())
      Dim cal As New UmAlQuraCalendar()
      
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
      DisplayCalendarInfo(cal, date1)
            
      ' Add 2 years and 10 months by calling UmAlQuraCalendar methods.
      date1 = cal.AddYears(date1, 2)
      date1 = cal.AddMonths(date1, 10)       

      Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,", 
                        GetCalendarName(cal))
      Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1)
      DisplayCalendarInfo(cal, date1)
   End Sub
   
   Private Sub DisplayCalendarInfo(cal As Calendar, date1 As Date)
      Console.WriteLine("   Calendar:   {0}", GetCalendarName(cal))    
      Console.WriteLine("   Era:        {0}", cal.GetEra(date1))
      Console.WriteLine("   Year:       {0}", cal.GetYear(date1))
      Console.WriteLine("   Month:      {0}", cal.GetMonth(date1))
      Console.WriteLine("   DayOfYear:  {0}", cal.GetDayOfYear(date1))
      Console.WriteLine("   DayOfMonth: {0}", cal.GetDayOfMonth(date1))
      Console.WriteLine("   DayOfWeek:  {0}", cal.GetDayOfWeek(date1))
      Console.WriteLine()
   End Sub
   
   Private Function GetCalendarName(cal As Calendar) As String
      Return cal.ToString().Replace("System.Globalization.", "").
             Replace("Calendar", "")   
   End Function
End Module
' The example displays the following output:
'    April 3, 2011 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1432
'       Month:      4
'       DayOfYear:  118
'       DayOfMonth: 29
'       DayOfWeek:  Sunday
'    
'    After adding 2 years and 10 months in the UmAlQura calendar,
'    January 1, 2014 in the Gregorian calendar is equivalent to:
'       Calendar:   UmAlQura
'       Era:        1
'       Year:       1435
'       Month:      2
'       DayOfYear:  59
'       DayOfMonth: 29
'       DayOfWeek:  Wednesday

설명

결과 날짜가 결과 연도의 결과 월에서 유효한 날짜가 아닌 경우 결과 DateTime 날짜의 일 부분이 영향을 받습니다. 결과 연도의 결과 월에서 마지막 유효 일로 변경됩니다. 결과 월이 지정된 연도를 벗어나면 결과 DateTime 연도의 연도 부분이 영향을 받습니다 DateTime. 이 구현은 현재 시대만 지원합니다. 따라서 결과 연도가 지정된 연도의 시대를 벗어나면 예외가 throw됩니다 DateTime. 결과 DateTime 에서 하루 중 시간 부분은 지정된 부분과 동일하게 유지됩니다 DateTime.

예를 들어 지정된 월이 30일인 Zulkadah인 경우 지정된 날짜는 해당 월의 30일이고 매개 변수 값 months 은 3이고, 결과 연도는 지정된 연도보다 1개, 결과 월은 Safar이고, 결과 날짜는 Safar의 마지막 날인 29일입니다.

매개 변수 값이 음수 months 이면 결과는 DateTime 지정된 DateTime값보다 이전입니다.

반환 DateTime 된 값의 속성은 Kind 항상 같습니다DateTimeKind.Unspecified. 다음 예제와 Kind 같이 메서드를 time 호출 DateTime.SpecifyKind 하여 매개 변수의 속성을 유지할 수 있습니다.

returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddMonths(time, months), time.Kind)

적용 대상