C#で日付を比較する方法|DateTimeクラスを使った基本テクニック
C#で日付を比較するには、まずDateTimeオブジェクトを使って、比較対象となる2つの日付を設定する必要があります。本記事では、C#のDateTimeクラスを活用した日付の比較方法を、具体的なコード例とともにわかりやすく解説します。
比較用の日付を準備する
まずは、比較するための2つの日付を作成しましょう。DateTimeクラスのコンストラクタに年・月・日を指定することで、任意の日付を持つインスタンスを生成できます。
日付1の作成
DateTime date1 = new DateTime(2018, 07, 20);
Console.WriteLine("Date 1 : {0}", date1);日付2の作成
DateTime date2 = new DateTime(2018, 07, 25);
Console.WriteLine("Date 2 : {0}", date2);この例では、2018年7月20日と2018年7月25日の2つの日付を用意しています。DateTimeオブジェクト同士は、通常の数値と同じように比較演算子(<、>、==など)で直接比較できるのが特徴です。
C#で日付を比較するサンプルコード
それでは、実際に2つの日付を比較してみましょう。以下は、if文と比較演算子を使って、どちらの日付が先かを判定する完全なサンプルプログラムです。
サンプルプログラム
using System;
namespace Program {
class Demo {
static int Main() {
DateTime date1 = new DateTime(2018, 07, 20);
Console.WriteLine("Date 1 : {0}", date1);
DateTime date2 = new DateTime(2018, 07, 25);
Console.WriteLine("Date 2 : {0}", date2);
if (date1 < date2)
Console.WriteLine("{0} comes before {1}", date1, date2);
Console.Read();
return 0;
}
}
}実行結果
Date 1 : 7/20/2018 12:00:00 AM Date 2 : 7/25/2018 12:00:00 AM 7/20/2018 12:00:00 AM comes before 7/25/2018 12:00:00 AM
解説のポイント
上記のコードでは、date1 < date2という条件式により、date1がdate2より前の日付であるかどうかを判定しています。条件が成立した場合のみ、メッセージが出力されます。
実行結果からもわかるように、2018年7月20日は2018年7月25日よりも前の日付であるため、比較の結果が正しく表示されています。
なお、DateTime構造体には以下のような便利な比較メソッドも用意されています。
- CompareTo():他のDateTimeとの前後関係を整数値で返す
- Equals():2つの日付が同一かどうかを判定する
- Compare():静的メソッドとして2つの日付を比較する
用途に応じてこれらのメソッドを使い分けることで、より柔軟な日付処理が可能になります。ぜひ実際の開発でも活用してみてください。
-
Excelの条件付き書式で日付に基づく行を強調表示する方法
Microsoft Excelは、予算計画や収支記録など、さまざまな用途に活用できる表計算ソフトです。データを作成していると、「特定の日付より前の日付が入力された行を強調表示したい」という場面に出会うことがあります。本記事では、Excelで「今日」または「特定の日付」より前の日付を含む行を強調表示する方法を、具体的な手順とともにわかりやすく解説します。 条件付き書式を使って日付のある行を強調表示する ここでは、今日の日付または特定の日付より前の日付が入力された行を強調表示する、以下の2つの方法をご紹介します。 TODAY()関数を使用する方法 TODAY()関数を使用しない方法 1] T
-
PythonでMySQLに日付データを挿入する方法をわかりやすく解説
PythonからMySQLデータベースに日付を挿入するには、まずテーブル側の準備が必要です。挿入先のカラムは DATE 型または DATETIME 型として定義しておきましょう。 日付を文字列に変換してから挿入する MySQLに日付を登録する際は、Pythonのdatetimeオブジェクトをそのまま渡すのではなく、あらかじめ文字列形式に変換しておく必要があります。この変換には、標準ライブラリ datetime モジュールが提供する strftime() メソッドを使うのが一般的です。 コード例 from datetime import datetime now = datetime.now(