UmAlQuraCalendar.AddYears(DateTime, Int32) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した初期日付から指定した年数が経過した後の日付を計算します。
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 クラスでは、04/30/1900 00.00.00 (グレゴリオ暦) から 11/16/2077 23:59:59 (グレゴリオ暦) までの日付しかサポートしていません。
- years
- Int32
正または負の、加算する年数。
戻り値
years
パラメーターで指定した年数を time
パラメーターで指定した日付に加算することで得られる日付。
例外
結果として得られる日付が UmAlQuraCalendar クラスでサポートされている範囲外の値です。
years
が -10,000 未満であるか、または 10,000 を超えています。
- または -
time
が、このカレンダーでサポートされている範囲外です。
例
次の例では、値を DateTime インスタンス化し、そのコンポーネントの複数の値を Um AL Qura カレンダーに表示します。 次に、 メソッドと AddMonths メソッドをAddYears呼び出して、Um Al Qura カレンダーに 2 年 10 か月を日付値に追加します。 最後に、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
注釈
結果の日が、結果の年の結果 DateTime の月の有効な日でない場合、結果の日の部分が影響を受ける。 結果の年の結果の月の最後の有効な日に変更されます。 結果 DateTime の月部分は、指定した DateTimeと同じままです。 この実装では、現在の時代 (年号) のみがサポートされます。 したがって、結果の年が指定された の時代 (年号) の範囲外の場合、例外がスローされます DateTime。 結果 DateTime のの時刻部分は、指定した DateTimeと同じままです。
たとえば、Zulhijjah の日数は 29 日ですが、うるう年の間は 30 日です。 指定した日付が閏年の Zulhijjah の 30 日で、 パラメーターの値が 1 の years
場合、結果の日付は次の年の Zulhijjah の 29 日目になります。
が負の場合 years
、結果 DateTime は指定された DateTimeよりも前になります。
戻りDateTime値の プロパティはKind常に とDateTimeKind.Unspecified等しくなります。 次の例に Kind 示すように、 メソッドを time
呼び出 DateTime.SpecifyKind すことで、 パラメーターの プロパティを保持できます。
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind);
returnTime = DateTime.SpecifyKind(cal.AddYears(time, years), time.Kind)
適用対象
.NET