C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のDateTime.AddYears()メソッドとは?使い方をわかりやすく解説

C#のDateTime.AddYears()メソッドは、このインスタンスが表す日時に指定した年数を加算し、その結果を新しいDateTimeとして返します。DateTimeは不変(イミュータブル)な構造体であるため、元のインスタンスの値が変更されることはありません。

構文

public DateTime AddYears (int yrs);

パラメータ yrs には、加算する年数を整数で指定します。年数を減算したい場合は、負の値を渡してください。

押さえておきたいポイント

  • 戻り値は計算結果を表す新しいDateTimeインスタンスで、元の日時には影響しません。
  • うるう日の2月29日に対して加算・減算を行い、結果の年が平年の場合は、自動的に2月28日に調整されます。
  • 計算結果がサポートされる日付範囲(0001年1月1日〜9999年12月31日)を外れると、ArgumentOutOfRangeExceptionがスローされます。

使用例:年数を加算する

次の例では、2019年11月20日の日時に5年を加算しています。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 11, 20, 6, 20, 40);
        DateTime d2 = d1.AddYears(5);
        Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
        Console.WriteLine("New DateTime (added years) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
    }
}

出力

Initial DateTime = 20 November 2019, 06:20:40
New DateTime (added years) = 20 November 2024, 06:20:40

実行結果を見ると、時刻部分(06:20:40)はそのまま維持され、日付だけが5年後の「2024年11月20日」に更新されていることがわかります。

使用例:年数を減算する

負の値を指定すれば、年数を減算することもできます。次の例では、同じ日時から2年前の日付を求めています。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 11, 20, 6, 20, 40);
        DateTime d2 = d1.AddYears(-2);
        Console.WriteLine("Initial DateTime = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d1);
        Console.WriteLine("New DateTime (subtracting years) = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", d2);
    }
}

出力

Initial DateTime = 20 November 2019, 06:20:40
New DateTime (subtracting years) = 20 November 2017, 06:20:40

このように、AddYears()メソッドに負の値を渡すだけで、過去の日付も簡単に計算できます。

まとめ

  • DateTime.AddYears(int)は、指定した年数を日時に加算(負の値なら減算)できるメソッドです。
  • 元の値は変更されず、常に新しいDateTimeインスタンスが返されます。
  • うるう日の調整や日付範囲のチェックも自動的に行われるため、年単位の日付計算を安全に行えます。
  1. C#のDateTime.AddHours()メソッドの使い方を徹底解説

    C#のDateTime.AddHours()メソッドは、指定した時間数を現在のDateTimeインスタンスの値に加算するためのメソッドです。重要なポイントとして、このメソッドは元のDateTimeオブジェクトを変更せず、計算結果を含む新しいDateTimeオブジェクトを返します。基本仕様DateTimeは不変(イミュータブル)な構造体のため、AddHours()を呼び出しても元の値は変わりません。戻り値は加算後の日時を持つ新しいDateTimeです。構文public DateTime AddHours (double hrs);パラメータ hrs には加算する時間数を指定します。負の値を渡すこ

  2. C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法

    C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動