HebrewCalendar.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 van verschillende onderdelen van een DateTime in de Hebreeuwse kalender weergegeven.
using System;
using System.Globalization;
public class SamplesHebrewCalendar {
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 HebrewCalendar.
HebrewCalendar myCal = new HebrewCalendar();
// Displays the values of the DateTime.
Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Hebrew 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 Hebrew calendar:
Era: 1
Year: 5762
Month: 7
DayOfYear: 198
DayOfMonth: 21
DayOfWeek: Wednesday
After adding two years and ten months:
Era: 1
Year: 5765
Month: 5
DayOfYear: 138
DayOfMonth: 21
DayOfWeek: Monday
*/
Imports System.Globalization
Public Class SamplesHebrewCalendar
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 HebrewCalendar.
Dim myCal As New HebrewCalendar()
' Displays the values of the DateTime.
Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Hebrew 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 Hebrew calendar:
' Era: 1
' Year: 5762
' Month: 7
' DayOfYear: 198
' DayOfMonth: 21
' DayOfWeek: Wednesday
'
'After adding two years and ten months:
' Era: 1
' Year: 5765
' Month: 5
' DayOfYear: 138
' DayOfMonth: 21
' DayOfWeek: Monday
Opmerkingen
Deze implementatie van de HebrewCalendar klasse herkent alleen de Hebreeuwse jaren 5343 tot 5999 (1583 tot 2239 in de Gregoriaanse kalender).
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. Cheshvan kan bijvoorbeeld 29 of 30 dagen hebben, afhankelijk van de plaatsing van Joodse feestdagen. Stel dat Cheshvan 30 dagen in het huidige jaar en 29 dagen in het volgende jaar heeft. Als de opgegeven datum de 30e dag van Cheshvan in het huidige jaar is en de waarde years 1 is, is de resulterende datum de 29e dag van Cheshvan in het volgende jaar.
Het maandgedeelte van het resulterende DateTime gedeelte wordt beïnvloed als de resulterende maand geen geldige maand is in het resulterende jaar. Deze wordt gewijzigd in de laatste geldige maand in het resulterende jaar. Als de maand in de time parameter bijvoorbeeld de 13e maand van een schrikkeljaar is en de waarde years 1 is, is de maand in het resultaat DateTime de 12e maand van het volgende jaar, een niet-schrikkeljaar. Houd er rekening mee dat zelfs wanneer het maandgedeelte niet verandert, het mogelijk nog steeds naar een andere maand verwijst. Adar Beit is bijvoorbeeld de 7e maand in schrikkeljaren, maar Nissan is de 7e maand in gemeenschappelijke jaren.
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.
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)