GregorianCalendar.AddYears(DateTime, Int32) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
public:
override DateTime AddYears(DateTime time, int years);
public override DateTime AddYears(DateTime time, int years);
override this.AddYears : DateTime * int -> DateTime
abstract member AddYears : DateTime * int -> DateTime
override this.AddYears : DateTime * int -> DateTime
Public Overrides Function AddYears (time As DateTime, years As Integer) As DateTime
Parameters
- years
- Int32
Het aantal jaren dat moet worden toegevoegd.
Retouren
Dit DateTime resulteert in het toevoegen van het opgegeven aantal jaren aan de opgegeven DateTime.
Uitzonderingen
Het resultaat DateTime valt buiten het ondersteunde bereik.
Voorbeelden
In het volgende codevoorbeeld worden de waarden weergegeven van verschillende onderdelen van een DateTime in termen van de Gregoriaanse kalender.
using System;
using System.Globalization;
public class SamplesGregorianCalendar {
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 GregorianCalendar.
GregorianCalendar myCal = new GregorianCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian 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:
Era: 1
Year: 2002
Month: 4
DayOfYear: 93
DayOfMonth: 3
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 2005
Month: 2
DayOfYear: 34
DayOfMonth: 3
DayOfWeek: Thursday
*/
Imports System.Globalization
Public Class SamplesGregorianCalendar
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 GregorianCalendar.
Dim myCal As New GregorianCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian 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:
' Era: 1
' Year: 2002
' Month: 4
' DayOfYear: 93
' DayOfMonth: 3
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 2005
' Month: 2
' DayOfYear: 34
' DayOfMonth: 3
' DayOfWeek: Thursday
Opmerkingen
Het daggedeelte van het resultaat DateTime wordt beïnvloed als de resulterende dag geen geldige dag is in de resulterende maand van het resulterende jaar. Deze wordt gewijzigd in de laatste geldige dag in de resulterende maand van het resulterende jaar. Het maandgedeelte van het resultaat DateTime blijft hetzelfde als de opgegeven DateTime. Deze implementatie ondersteunt alleen het huidige tijdperk. Daarom wordt ArgumentException gegooid als het resulterende jaar buiten het tijdperk van de opgegeven DateTime. Het tijdstip van de dag van het resulterende DateTime gedeelte blijft hetzelfde als de opgegeven DateTime.
Februari heeft bijvoorbeeld 28 dagen, behalve tijdens schrikkeljaren wanneer het 29 dagen is. Als de opgegeven datum de 29e dag van februari in een schrikkeljaar is en de waarde years 1 is, is de resulterende datum de 28e dag van februari in het volgende jaar.
Als years dit negatief is, is het resultaat DateTime eerder dan de opgegeven DateTime.
De Kind eigenschap van de geretourneerde DateTime waarde is DateTimeKind.Unspecifiedaltijd gelijk aan. U kunt de Kind eigenschap van de time parameter behouden door de DateTime.SpecifyKind methode aan te roepen, zoals in het volgende voorbeeld wordt weergegeven.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)