UmAlQuraCalendar.AddYears(DateTime, Int32) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Рассчитывает дату через определенное количество лет от указанной исходной даты.
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
Параметры
- time
- DateTime
Дата, к которой требуется добавить годы. Класс UmAlQuraCalendar поддерживает только даты с 30.04.1900 00.00.00 (по григорианскому календарю) по 16.11.2077 23:59:59 (по григорианскому календарю).
- years
- Int32
Положительное или отрицательное число лет для добавления.
Возвращаемое значение
Дата, полученная путем добавления числа лет, указанных в параметре years
, к дате, указанной в параметре time
.
Исключения
Результирующая дата находится вне диапазона, поддерживаемого классом UmAlQuraCalendar.
years
меньше –10 000 или больше 10 000.
-или-
time
находится за пределами диапазона, поддерживаемого этим календарем.
Примеры
В следующем примере создается DateTime экземпляр значения и отображаются значения нескольких его компонентов в календаре Um AL Qura. Затем он вызывает AddYears методы и AddMonths , чтобы добавить 2 года и 10 месяцев в календаре Умм Аль-Кура к значению даты. Наконец, он снова отображает значения этих компонентов даты в календаре Умм Аль Кура.
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
Комментарии
Дневная часть результирующего объекта DateTime влияет, если результирующий день не является действительным днем в результирующем месяце результирующего года. Он изменяется на последний действительный день в результирующем месяце результирующего года. Часть месяца в результирующем DateTime объекте остается той же, что и указанная DateTime. Эта реализация поддерживает только текущую эру. Таким образом, исключение возникает, если результирующий год выходит за пределы эры указанного DateTime. Временная часть результирующего объекта DateTime остается той же, что и указанная DateTime.
Например, zulhijjah имеет 29 дней, за исключением високосных лет, когда он имеет 30 дней. Если указанная дата является 30-м днем Zulhijjah в високосном году, а значение years
параметра равно 1, результирующей датой будет 29-й день Zulhijjah в следующем году.
Если years
является отрицательным, результирующий результат DateTime будет раньше указанного DateTime.
Свойство Kind возвращаемого DateTime значения всегда равно DateTimeKind.Unspecified. Свойство time
параметра можно сохранитьKind, вызвав DateTime.SpecifyKind метод , как показано в следующем примере.
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)