日付を比較する

C#:
日付を比較する

How to: (方法)

C#で日付を比較するのは簡単です。DateTimeオブジェクトを使用して、以下のように比較を行います。

DateTime firstDate = new DateTime(2023, 3, 1);
DateTime secondDate = new DateTime(2023, 3, 15);

// 比較: 同じか?
bool areDatesEqual = firstDate == secondDate;

// 比較: firstDateはsecondDateより前か?
bool isFirstBeforeSecond = firstDate < secondDate;

// 比較: firstDateはsecondDateより後か?
bool isFirstAfterSecond = firstDate > secondDate;

Console.WriteLine($"Dates equal: {areDatesEqual}");
Console.WriteLine($"First date is before second: {isFirstBeforeSecond}");
Console.WriteLine($"First date is after second: {isFirstAfterSecond}");

実行結果:

Dates equal: False
First date is before second: True
First date is after second: False

Deep Dive (深掘り)

C#における日付の比較は、DateTime構造によって支えられています。これは、2002年の.NET Framework 1.0リリース以来利用されています。DateOnlyやTimeOnlyなど、日付のみや時間のみを扱う代替の型もあります。

DateTime.CompareToメソッドやDateTime.Equalsメソッド等、他の比較方法もあります。内部実装では、DateTimeは64ビットの値で表され、それは1970年1月1日からのミリ秒を示しています。このため、比較は数値比較として高速に行うことができます。

See Also (関連情報)