UmAlQuraCalendar.AddYears(DateTime, Int32) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vypočítá datum, které je zadaný počet roků od zadaného počátečního data.
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
Datum, ke kterému se mají přidat roky. Třída UmAlQuraCalendar podporuje pouze data od 04/30/1900 00.00.00 (gregoriánské datum) do 16.11.2077 23:59:59 (gregoriánské datum).
- years
- Int32
Kladný nebo záporný počet roků, které se mají sečíst.
Návraty
Datum vynesené přidáním počtu roků určených parametrem years
k datu určenému parametrem time
.
Výjimky
Výsledné datum je mimo rozsah podporovaný UmAlQuraCalendar třídou.
years
je menší než -10 000 nebo větší než 10 000.
-nebo-
time
je mimo rozsah podporovaný tímto kalendářem.
Příklady
Následující příklad vytvoří DateTime instanci hodnoty a zobrazí hodnoty několika jejích součástí v kalendáři Um AL Qura. Dále volá AddYears metody a AddMonths pro přidání 2 let a 10 měsíců v kalendáři Um Al Qura k hodnotě data. Nakonec znovu zobrazí hodnoty těchto komponent kalendářních dat v kalendáři 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
Poznámky
Denní část výsledného DateTime roku je ovlivněna, pokud výsledný den není platným dnem ve výsledném měsíci výsledného roku. Změní se na poslední platný den ve výsledném měsíci výsledného roku. Měsíční část výsledného výsledku DateTime zůstane stejná jako zadaná DateTimečást . Tato implementace podporuje pouze aktuální éru. Proto je vyvolán výjimka, pokud je výsledný rok mimo éru zadaného DateTimeobjektu . Denní doba výsledné DateTime části zůstává stejná jako zadaná DateTimečást .
Například Zulhijjah má 29 dnů, s výjimkou přestupných let, kdy má 30 dnů. Pokud je zadané datum 30. den Zulhijjah v přestupném roce a hodnota years
parametru je 1, výsledné datum je 29. den Zulhijjah v následujícím roce.
Pokud years
je negativní, výsledek DateTime je starší než zadaný DateTimeparametr .
Vlastnost Kind vrácené DateTime hodnoty se vždy rovná DateTimeKind.Unspecified. Vlastnost parametru Kindtime
můžete zachovat voláním DateTime.SpecifyKind metody, jak ukazuje následující příklad.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)