C# - DateTime 型で、日付のみ比較する

時刻を無視し、年月日だけで比較するには Date プロパティ を使用します。

日付の比較方法

DateTime型を 年月日のみで比較するには Date プロパティ を使用します。Date プロパティは DateTimeオブジェクト の 年月日 のみ返します。(正確には時刻を 0時0分0秒 にして返します。)
if (DateTimeオブジェクト1.Date == DateTimeオブジェクト2.Date)
{
    // 同じ日付
}
else if (DateTimeオブジェクト1.Date > DateTimeオブジェクト2.Date)
{
    // DateTimeオブジェクト1 のほうが未来の日付
}
else
{
    // DateTimeオブジェクト2 のほうが未来の日付
}

サンプルコード

using System;


// 日時を指定して DateTime を初期化
DateTime datetime1 = DateTime.Parse("2099/01/02 10:20");
DateTime datetime2 = DateTime.Parse("2099/01/02 23:00");

// 日付のみ比較
if (datetime1.Date == datetime2.Date)
{
    System.Console.WriteLine("同じ日付です。");
}
else if (datetime1.Date > datetime2.Date)
{
    System.Console.WriteLine("datetime1 のほうが進んでいます。");
}
else
{
    System.Console.WriteLine("datetime2 のほうが進んでいます。");
}


// 日付と日時を比較
if (datetime1 == datetime2)
{
    System.Console.WriteLine("同じ日時です。");
}
else if (datetime1 > datetime2)
{
    System.Console.WriteLine("datetime1 のほうが進んでいます。");
}
else
{
    System.Console.WriteLine("datetime2 のほうが進んでいます。");
}
サンプルコードの実行結果 サンプルコードの実行結果

検証環境

関連ページ