【PHP入門】2つの日付を比較する方法|サンプルコード付きで解説
PHPで日付を比較する基本的な方法
PHPでは、DateTimeクラスで生成した日付オブジェクト同士を、数値と同じように比較演算子(> や <)で直接比較することができます。ここでは、2つの日付の前後関係を判定するシンプルなサンプルコードを紹介します。
サンプルコード
<?php
$date_1 = new DateTime("2020-11-22");
$date_2 = new DateTime("2011-11-22");
if ($date_1 > $date_2)
echo $date_1->format("Y-m-d") . " is later than ". $date_2->format("Y-m-d");
else
echo $date_1->format("Y-m-d") . " is before " . $date_2->format("Y-m-d");
?>実行結果
2020-11-22 is later than 2011-11-22
コードの解説
まず、new DateTime() を使って「DateTime」形式の日付オブジェクトを2つ生成します。続いて、if文による条件分岐で、どちらの日付が新しい(未来)のか、古い(過去)のかを判定しています。
$date_1 の方が後の日付であれば「is later than(〜より後である)」というメッセージがコンソールに出力され、逆に $date_1 の方が早い場合は「is before(〜より前である)」というメッセージが出力される仕組みです。
補足:日付の差分を取得したい場合
単なる前後比較ではなく、2つの日付の具体的な差を知りたいときは、diff() メソッドが便利です。
<?php
$date_1 = new DateTime("2020-11-22");
$date_2 = new DateTime("2011-11-22");
$diff = $date_1->diff($date_2);
echo $diff->y . "年" . $diff->m . "ヶ月" . $diff->d . "日の差があります";
?>このように、PHPでの日付比較は DateTime クラスを使えば直感的に実装できます。なお、文字列のまま日付を持っている場合は、比較前に strtotime() や new DateTime() で変換しておくと、意図しない結果を防げて安全です。
-
Javaで2つの日付を比較する方法をわかりやすく解説!compareTo()の使い方と実行例
Javaで2つの日付を比較したい場合、Comparableインターフェースが提供するcompareTo()メソッドを使うのが基本的な方法です。このメソッドは、2つの日付を比較した結果を整数値(int型)として返します。 compareTo()メソッドの戻り値 0 を返す … 両方の日付が等しい場合 0 より大きい値を返す … date1 が date2 より後の日付の場合 0 より小さい値を返す … date1 が date2 より前の日付の場合 構文 int compareTo(T o) サンプルコード 以下の例では、SimpleDateFormatを使って文字列をDateオブジェクトに
-
【Python】2つのPandasシリーズを要素ごとに比較する方法
この記事では、2つのPandasシリーズを宣言し、その要素同士を比較するPythonプログラムを紹介します。実装を始める前に、ローカル環境でPandasライブラリが使えるようにしておきましょう。まだインストールしていない場合は、以下のコマンドで簡単に導入できます。 pip install pandas 入力データ Series1 = [2,4,6,8,10] Series2 = [1,3,5,7,9] アルゴリズム ステップ1: PandasライブラリのSeries()関数を使用して、2つのPandasシリーズを定義します。ステップ2: 「より大きい(>)」「より小さい(<)」「等