JulianCalendar.AddYears(DateTime, Int32) Metodo

Definizione

Restituisce un valore DateTime che rappresenta il numero di anni specificato a partire dal valore DateTime specificato.

C#
public override DateTime AddYears (DateTime time, int years);

Parametri

time
DateTime

Oggetto DateTime a cui aggiungere anni.

years
Int32

numero di anni da aggiungere.

Restituisce

Valore DateTime risultante dalla somma del numero di anni specificato e del valore DateTime specificato.

Eccezioni

Il valore DateTime risultante non è compreso nell’intervallo supportato.

Esempio

Nell'esempio di codice seguente vengono visualizzati i valori di diversi componenti di un DateTime in termini di calendario Julian.

C#
using System;
using System.Globalization;

public class SamplesJulianCalendar  {

   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 JulianCalendar.
      JulianCalendar myCal = new JulianCalendar();

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Julian 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 Julian calendar:
   Era:        1
   Year:       2002
   Month:      3
   DayOfYear:  80
   DayOfMonth: 21
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       2005
   Month:      1
   DayOfYear:  21
   DayOfMonth: 21
   DayOfWeek:  Thursday

*/

Commenti

La parte del giorno risultante DateTime è interessata se il giorno risultante non è un giorno valido nel mese risultante dell'anno risultante. Viene modificato nell'ultimo giorno valido nel mese risultante dell'anno risultante. La parte mensile del risultato DateTime rimane uguale a quella specificata DateTime. Questa implementazione supporta solo l'era corrente. Pertanto, ArgumentException viene generato se l'anno risultante non è all'esterno dell'era dell'oggetto specificato DateTime. La parte del giorno risultante DateTime rimane uguale a quella specificata DateTime.

Ad esempio, febbraio ha 28 giorni, ad eccezione di anni salti quando ha 29 giorni. Se la data specificata è il 29° giorno di febbraio in un anno bisestile e il valore di years è 1, la data risultante è il 28° giorno di febbraio nell'anno seguente.

Se years è negativo, il risultato DateTime è precedente a quello specificato DateTime.

La Kind proprietà del valore restituito DateTime è DateTimeKind.Unspecifiedsempre uguale a . È possibile mantenere la Kind proprietà del time parametro chiamando il metodo, come illustrato nell'esempio DateTime.SpecifyKind seguente.

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

Si applica a

Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Vedi anche