次の方法で共有


HijriCalendar.AddYears メソッド

指定した DateTime から指定した年数が経過した後の DateTime を返します。

Overrides Public Function AddYears( _
   ByVal time As DateTime, _   ByVal years As Integer _) As DateTime
[C#]
public override DateTime AddYears(DateTimetime,intyears);
[C++]
public: DateTime AddYears(DateTimetime,intyears);
[JScript]
public override function AddYears(
   time : DateTime,years : int) : DateTime;

パラメータ

  • time
    年数を加算する対象の DateTime
  • years
    追加する年数。

戻り値

指定した DateTime に指定した年数を加算した結果の DateTime

例外

例外の種類 条件
ArgumentException 結果として得られる DateTime がサポートされている範囲外の値です。

解説

結果として得られる日が結果の年の結果の月に対して有効な日でない場合は、結果として得られる DateTime の日付部分が影響を受けます。この日付は、結果の年の結果の月にとって有効な最後の日付に変更されます。結果として得られる DateTime の月の部分は、指定した DateTime の値と同じままです。この実装では現在の時代 (年号) だけをサポートしています。したがって、結果として得られた年が、指定された DateTime の時代 (年号) の範囲外の場合、 ArgumentException がスローされます。結果として得られる DateTime の時刻の部分は、指定した DateTime の値と同じままです。

たとえば、Zulhijjah の日数は 29 日ですが、閏年の場合は 30 日になります。指定した日付が閏年の Zulhijjah の 30 日で years の値が 1 の場合、結果として得られる日付は翌年の Zulhijjah の 29 日になります。

years が負の場合、結果の DateTime は、指定した DateTime よりも前の値になります。

使用例

[Visual Basic, C#, C++] DateTime のいくつかのコンポーネントの値を回教暦で表示する例を次に示します。

 
Imports System
Imports System.Globalization


Public Class SamplesHijriCalendar   

   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 HijriCalendar.
      Dim myCal As New HijriCalendar()

      ' Displays the values of the DateTime.
      Console.WriteLine("April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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 'Main

   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 'DisplayValues

End Class 'SamplesHijriCalendar 


'This code produces the following output.

'

'April 3, 2002 of the Gregorian calendar equals the following in the Hijri calendar:

'   Era:        1

'   Year:       1423

'   Month:      1

'   DayOfYear:  21

'   DayOfMonth: 21

'   DayOfWeek:  Wednesday

'

'After adding two years and ten months:

'   Era:        1

'   Year:       1425

'   Month:      11

'   DayOfYear:  316

'   DayOfMonth: 21

'   DayOfWeek:  Saturday



[C#] 
using System;
using System.Globalization;


public class SamplesHijriCalendar  {

   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 HijriCalendar.
      HijriCalendar myCal = new HijriCalendar();

      // Displays the values of the DateTime.
      Console.WriteLine( "April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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 Hijri calendar:
   Era:        1
   Year:       1423
   Month:      1
   DayOfYear:  21
   DayOfMonth: 21
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       1425
   Month:      11
   DayOfYear:  316
   DayOfMonth: 21
   DayOfWeek:  Saturday

*/

[C++] 
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;

void DisplayValues( Calendar* myCal, DateTime myDT )  {
   Console::WriteLine( S"   Era:        {0}", __box(myCal->GetEra( myDT )));
   Console::WriteLine( S"   Year:       {0}", __box(myCal->GetYear( myDT )));
   Console::WriteLine( S"   Month:      {0}", __box(myCal->GetMonth( myDT )));
   Console::WriteLine( S"   DayOfYear:  {0}", __box(myCal->GetDayOfYear( myDT )));
   Console::WriteLine( S"   DayOfMonth: {0}", __box(myCal->GetDayOfMonth( myDT )));
   Console::WriteLine( S"   DayOfWeek:  {0}", __box(myCal->GetDayOfWeek( myDT )));
   Console::WriteLine();
}

int main()  {

   // Sets a DateTime to April 3, 2002 of the Gregorian calendar.
   DateTime myDT = DateTime( 2002, 4, 3, new GregorianCalendar() );

   // Creates an instance of the HijriCalendar.
   HijriCalendar* myCal = new HijriCalendar();

   // Displays the values of the DateTime.
   Console::WriteLine( S"April 3, 2002 of the Gregorian calendar equals the following in the Hijri 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( S"After adding two years and ten months:" );
   DisplayValues( myCal, myDT );

}

/*
This code produces the following output.

April 3, 2002 of the Gregorian calendar equals the following in the Hijri calendar:
   Era:        1
   Year:       1423
   Month:      1
   DayOfYear:  21
   DayOfMonth: 21
   DayOfWeek:  Wednesday

After adding two years and ten months:
   Era:        1
   Year:       1425
   Month:      11
   DayOfYear:  316
   DayOfMonth: 21
   DayOfWeek:  Saturday

*/

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

HijriCalendar クラス | HijriCalendar メンバ | System.Globalization 名前空間 | System.DateTime | AddMonths | Calendar.AddWeeks | Calendar.AddDays | Calendar.AddHours | Calendar.AddMinutes | Calendar.AddSeconds | Calendar.AddMilliseconds