다음을 통해 공유


UmAlQuraCalendar.AddYears(DateTime, Int32) 메서드

정의

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

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

매개 변수

time
DateTime

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

years
Int32

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

반환

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

예외

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

years가 -10,000보다 작거나 10,000보다 큽니다.

또는

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

예제

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

예를 들어 Zulhijjah에는 30일이 있는 윤년을 제외하고 29일이 있습니다. 지정된 날짜가 윤년에서 Zulhijjah의 30일이고 매개 변수 값 years 이 1이면 결과 날짜는 다음 해의 Zulhijjah 29일입니다.

가 음수이면 years 결과는 DateTime 지정된 DateTime보다 이전입니다.

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

returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)

적용 대상