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

C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説

C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。

基本構文

DateTime.Add()メソッドの構文は以下の通りです。

public DateTime Add (TimeSpan val);

引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。

使用例1:日付を加算する

まずは、115日分のTimeSpanを加算する基本的な例を見てみましょう。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 3, 7, 8, 0, 15);
        TimeSpan span = new TimeSpan(115, 0, 0, 0);
        DateTime d2 = d1.Add(span);
        System.Console.WriteLine("Initial DateTime = {0:y} {0:dd}", d1);
        System.Console.WriteLine("\nNew DateTime = {0:y} {0:dd}", d2);
    }
}

出力結果

このコードを実行すると、次のような出力が得られます。

Initial DateTime = March 2019 07
New DateTime = June 2019 30

2019年3月7日に115日を加算したため、結果は2019年6月30日となっています。

使用例2:負の値で日付を減算する

続いて、負の値を持つTimeSpanを指定して、日付を過去方向へ移動させる例です。

using System;
public class Demo {
    public static void Main(){
        DateTime d1 = new DateTime(2019, 9, 7, 8, 0, 15);
        // 75日を減算
        TimeSpan span = new TimeSpan(-75, 0, 0, 0);
        DateTime d2 = d1.Add(span);
        System.Console.WriteLine("Initial DateTime = {0:y} {0:dd}", d1);
        System.Console.WriteLine("\nNew DateTime = {0:y} {0:dd}", d2);
    }
}

出力結果

このコードを実行すると、次のような出力が得られます。

Initial DateTime = September 2019 07
New DateTime = June 2019 24

2019年9月7日から75日を減算したため、結果は2019年6月24日となりました。

まとめ

DateTime.Add()メソッドを使えば、TimeSpanを介して日時に柔軟に加算・減算を行うことができます。日数だけでなく、時間・分・秒単位の計算にも対応しており、日付操作が必要なアプリケーションで非常に便利です。なお、単純に日数だけを加減したい場合は、より簡潔に書ける AddDays() メソッドも併せて検討するとよいでしょう。

  1. C#のDateTime.ToBinary()メソッドの使い方を徹底解説

    DateTime.ToBinary()メソッドとはC#のDateTime.ToBinary()メソッドは、現在のDateTimeオブジェクトを、後から同じオブジェクトとして復元できる64ビットのバイナリ値にシリアル化するためのメソッドです。戻り値は64ビット符号付き整数(long型)となり、この値を保存しておけば、あとから日付と時刻の情報を正確に再現することが可能です。構文このメソッドの構文は以下の通りです。public long ToBinary ();引数は取らず、呼び出し元のDateTimeオブジェクトをシリアル化した結果をlong型で返します。使用例1:固定の日時をシリアル化するまずは

  2. C#のDateTime.Add()メソッドとは?構文と使い方を実例付きで解説

    C#のDateTime.Add()メソッドは、指定したTimeSpanの値を現在のDateTimeインスタンスに加算し、その結果として新しいDateTimeオブジェクトを返すメソッドです。元のインスタンス自体は変更されず、計算結果が新しいオブジェクトとして生成される点が特徴です。基本構文DateTime.Add()メソッドの構文は以下の通りです。public DateTime Add (TimeSpan val);引数 val には、加算する時間間隔を表す TimeSpan を指定します。正の値を渡せば日時が進み、負の値を渡せば日時が遡ります。使用例1:日付を加算するまずは、115日分のTim