将来または過去の日付を計算する

C#:
将来または過去の日付を計算する

How to: (方法)

C#ではDateTimeクラスを使って日付計算をします。数日後や数日前の日付を簡単に求められます。

using System;

class Program
{
    static void Main()
    {
        DateTime today = DateTime.Now;
        
        // 10日後の日付を計算
        DateTime futureDate = today.AddDays(10);
        Console.WriteLine($"10日後: {futureDate.ToShortDateString()}");

        // 5日前の日付を計算
        DateTime pastDate = today.AddDays(-5);
        Console.WriteLine($"5日前: {pastDate.ToShortDateString()}");
    }
}

実行結果 (日付は変わります):

10日後: 04/15/2023
5日前: 03/31/2023

Deep Dive (深掘り)

日付計算は、C#が初めて登場した2000年代から利用されています。標準ライブラリーのSystem.DateTimeは、日付と時間を表し、操作する機能を提供します。

代替方法としてTimeSpanを使うこともできますが、日数計算にはDateTime.AddDaysメソッドが便利です。また、タイムゾーンを意識した計算が必要な場合はDateTimeOffsetを使うことを検討してください。

実装の詳細については、DateTimeのメソッドはうるう年や月末の日数に対応しているため、独自の計算ロジックを書く必要がありません。ただし、夏時間など特別なケースでは追加の検討が必要です。

See Also (関連情報)