ThaiBuddhistCalendar.AddYears(DateTime, Int32) Metoda

Definicja

Zwraca wartość DateTime wskazującą określoną liczbę lat od określonego DateTime .Returns a DateTime that is the specified number of years away from the specified DateTime.

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

Parametry

time
DateTime

DateTimeDo którego mają zostać dodane lata.The DateTime to which to add years.

years
Int32

liczba lat do dodania.The number of years to add.

Zwraca

DateTime

W DateTime wyniku dodania określonej liczby lat do określonego DateTime .The DateTime that results from adding the specified number of years to the specified DateTime.

Wyjątki

Wynikiem DateTime jest spoza obsługiwanego zakresu.The resulting DateTime is outside the supported range.

Przykłady

Poniższy przykład demonstruje użycie AddYears metody.The following example demonstrates the use of the AddYears method.

using namespace System;
using namespace System::Globalization;
void DisplayValues( Calendar^ myCal, DateTime myDT )
{
   Console::WriteLine( "   Era:        {0}", myCal->GetEra( myDT ) );
   Console::WriteLine( "   Year:       {0}", myCal->GetYear( myDT ) );
   Console::WriteLine( "   Month:      {0}", myCal->GetMonth( myDT ) );
   Console::WriteLine( "   DayOfYear:  {0}", myCal->GetDayOfYear( myDT ) );
   Console::WriteLine( "   DayOfMonth: {0}", myCal->GetDayOfMonth( myDT ) );
   Console::WriteLine( "   DayOfWeek:  {0}", myCal->GetDayOfWeek( myDT ) );
   Console::WriteLine();
}

int main()
{
   
   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime(2002,4,3,gcnew GregorianCalendar);
   
   // Creates an instance of the ThaiBuddhistCalendar.
   ThaiBuddhistCalendar^ myCal = gcnew ThaiBuddhistCalendar;
   
   // Displays the values of the DateTime.
   Console::WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:" );
   DisplayValues( myCal, myDT );
   
   // Adds two years and ten months.
   myDT = myCal->AddYears( myDT, 2 );
   myDT = myCal->AddMonths( myDT, 10 );
   
   // Displays the values of the DateTime.
   Console::WriteLine( "After adding two years and ten months:" );
   DisplayValues( myCal, myDT );
}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:
   Era:        1
   Year:       2545
   Month:      4
   DayOfYear:  93
   DayOfMonth: 3
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       2548
   Month:      2
   DayOfYear:  34
   DayOfMonth: 3
   DayOfWeek:  Thursday

*/
using System;
using System.Globalization;

public class SamplesThaiBuddhistCalendar  {

   public static void Main()  {

      // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      DateTime myDT = new DateTime( 2002, 4, 3, new GregorianCalendar() );

      // Creates an instance of the ThaiBuddhistCalendar.
      ThaiBuddhistCalendar myCal = new ThaiBuddhistCalendar();

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:" );
      DisplayValues( myCal, myDT );

      // Adds two years and ten months.
      myDT = myCal.AddYears( myDT, 2 );
      myDT = myCal.AddMonths( myDT, 10 );

      // Displays the values of the DateTime.
      Console.WriteLine( "After adding two years and ten months:" );
      DisplayValues( myCal, myDT );
   }

   public static void DisplayValues( Calendar myCal, DateTime myDT )  {
      Console.WriteLine( "   Era:        {0}", myCal.GetEra( myDT ) );
      Console.WriteLine( "   Year:       {0}", myCal.GetYear( myDT ) );
      Console.WriteLine( "   Month:      {0}", myCal.GetMonth( myDT ) );
      Console.WriteLine( "   DayOfYear:  {0}", myCal.GetDayOfYear( myDT ) );
      Console.WriteLine( "   DayOfMonth: {0}", myCal.GetDayOfMonth( myDT ) );
      Console.WriteLine( "   DayOfWeek:  {0}", myCal.GetDayOfWeek( myDT ) );
      Console.WriteLine();
   }
}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:
   Era:        1
   Year:       2545
   Month:      4
   DayOfYear:  93
   DayOfMonth: 3
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       2548
   Month:      2
   DayOfYear:  34
   DayOfMonth: 3
   DayOfWeek:  Thursday

*/
Imports System.Globalization


Public Class SamplesThaiBuddhistCalendar   

   Public Shared Sub Main()

      ' Sets a DateTime to April 3, 2002 of the Gregorian calendar.
      Dim myDT As New DateTime(2002, 4, 3, New GregorianCalendar())

      ' Creates an instance of the ThaiBuddhistCalendar.
      Dim myCal As New ThaiBuddhistCalendar()

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:")
      DisplayValues(myCal, myDT)

      ' Adds two years and ten months.
      myDT = myCal.AddYears(myDT, 2)
      myDT = myCal.AddMonths(myDT, 10)

      ' Displays the values of the DateTime.
      Console.WriteLine("After adding two years and ten months:")
      DisplayValues(myCal, myDT)

   End Sub

   Public Shared Sub DisplayValues(myCal As Calendar, myDT As DateTime)
      Console.WriteLine("   Era:        {0}", myCal.GetEra(myDT))
      Console.WriteLine("   Year:       {0}", myCal.GetYear(myDT))
      Console.WriteLine("   Month:      {0}", myCal.GetMonth(myDT))
      Console.WriteLine("   DayOfYear:  {0}", myCal.GetDayOfYear(myDT))
      Console.WriteLine("   DayOfMonth: {0}", myCal.GetDayOfMonth(myDT))
      Console.WriteLine("   DayOfWeek:  {0}", myCal.GetDayOfWeek(myDT))
      Console.WriteLine()
   End Sub

End Class


'This code produces the following output.
'
'April 3, 2002 of the Gregorian calendar equals the following in the ThaiBuddhist calendar:
'   Era:        1
'   Year:       2545
'   Month:      4
'   DayOfYear:  93
'   DayOfMonth: 3
'   DayOfWeek:  Wednesday
'
'After adding two years and ten months:
'   Era:        1
'   Year:       2548
'   Month:      2
'   DayOfYear:  34
'   DayOfMonth: 3
'   DayOfWeek:  Thursday

Uwagi

DateTimeJest to naruszone, jeśli dzień wynikający z tego okresu nie jest prawidłowym dniem w wynikającym z danego miesiąca roku.The day part of the resulting DateTime is affected if the resulting day is not a valid day in the resulting month of the resulting year. Jest on zmieniany na ostatni prawidłowy dzień w wydanym miesiącu roku.It is changed to the last valid day in the resulting month of the resulting year. Część miesiąca będąca wynikiem jest taka DateTime sama jak określona DateTime .The month part of the resulting DateTime remains the same as the specified DateTime. Ta implementacja obsługuje tylko bieżącą ERA.This implementation supports only the current era. W związku z tym, ArgumentException jest zgłaszany, jeśli rok wynikający z określonych DateTime .Therefore, ArgumentException is thrown if the resulting year is outside the era of the specified DateTime. Część godziny wynikająca z wyniku DateTime pozostaje taka sama jak określona DateTime .The time-of-day part of the resulting DateTime remains the same as the specified DateTime.

Na przykład luty ma 28 dni, z wyjątkiem lat przestępnych, gdy ma 29 dni.For example, February has 28 days except during leap years, when it has 29 days. Jeśli określona data jest datą 29 lutego w roku przestępnym, a wartość jest równa years 1, Data wyniku przypada na 28 dzień lutego w następnym roku.If the specified date is the 29th day of February in a leap year and the value of years is 1, the resulting date is the 28th day of February in the following year.

Jeśli years jest ujemna, wynik DateTime jest wcześniejszy niż określony DateTime .If years is negative, the resulting DateTime is earlier than the specified DateTime.

KindWłaściwość zwracanej DateTime wartości zawsze jest równa DateTimeKind.Unspecified .The Kind property of the returned DateTime value always equals DateTimeKind.Unspecified. Właściwość parametru można zachować Kind time DateTime.SpecifyKind , wywołując metodę, jak pokazano w poniższym przykładzie.You can preserve the Kind property of the time parameter by calling the DateTime.SpecifyKind method, as the following example shows.

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

Dotyczy

Zobacz też