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 (関連情報)
- Microsoftの公式ドキュメント: DateTime Struct
- 比較メソッドについてもっと学ぶ: DateTime.CompareTo Method