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インスタンスが返されます。 - うるう日の調整や日付範囲のチェックも自動的に行われるため、年単位の日付計算を安全に行えます。
-
C#のDateTime.AddHours()メソッドの使い方を徹底解説
C#のDateTime.AddHours()メソッドは、指定した時間数を現在のDateTimeインスタンスの値に加算するためのメソッドです。重要なポイントとして、このメソッドは元のDateTimeオブジェクトを変更せず、計算結果を含む新しいDateTimeオブジェクトを返します。基本仕様DateTimeは不変(イミュータブル)な構造体のため、AddHours()を呼び出しても元の値は変わりません。戻り値は加算後の日時を持つ新しいDateTimeです。構文public DateTime AddHours (double hrs);パラメータ hrs には加算する時間数を指定します。負の値を渡すこ
-
C#のDateTime.AddDays()メソッドの使い方を徹底解説!日付に日数を加算する方法
C#のDateTime.AddDays()メソッドは、現在のDateTimeインスタンスの値に指定した日数を加算するためのメソッドです。このメソッドは元のDateTimeオブジェクトを変更するのではなく、計算結果として新しいDateTimeオブジェクトを返します。そのため、戻り値を受け取る変数が必要になる点に注意しましょう。 基本構文 DateTime.AddDays()メソッドの構文は以下のとおりです。 public DateTime AddDays (double days); 引数 days には加算したい日数をdouble型で指定します。負の値を渡すことで、日付を減算(過去の日付に移動