PHP では、2 つの日付の形式が類似している場合、2 つの日付の一致は非常にスムーズに行われますが、2 つの日付の形式が無関係である場合、PHP は解析に失敗します。この記事では、PHP での日付比較のさまざまなシナリオについて説明します。 DateTime クラスと strtotime() 関数を使用して日付を比較する方法を説明します。
指定された日付の形式が類似している場合、単純な比較演算子を使用してこれらの日付を分析できます。
<?php $date1 = "2018-11-24"; $date2 = "2019-03-26"; if ($date1 > $date2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
2019-03-26 is latest than 2018-11-24
ここでは、2 つの日付 $date1 と $date2 を同じ形式で宣言します。したがって、日付を比較するには比較演算子 (>) を使用します。
現時点で指定された日付がさまざまな形式である場合、strtotime() 関数を使用して指定された日付を UNIX タイムスタンプ形式に変換し、これらの数値タイムスタンプを分析して、期待される結果が得られます。
<?php $date1 = "18-03-22"; $date2 = "2017-08-24"; $curtimestamp1 = strtotime($date1); $curtimestamp2 = strtotime($date2); if ($curtimestamp1 > $curtimestamp2) echo "$date1 is latest than $date2"; else echo "$date1 is older than $date2"; ?>
18-03-22 is latest than 2017-08-24
この例では、2 つの日付が異なる形式で表されています。したがって、定義済み関数 strtotime() を使用してタイムスタンプを数値の UNIX タイムスタンプに変換し、さまざまな比較演算子を使用してこれらのタイムスタンプを比較して、目的の結果を取得します。
DateTime クラスのオブジェクトを作成して 2 つの日付を比較します。
<?php $date1 = new DateTime("18-02-24"); $date2 = new DateTime("2019-03-24"); if ($date1 > $date2) { echo 'datetime1 greater than datetime2'; } if ($date1 < $date2) { echo 'datetime1 lesser than datetime2'; } if ($date1 == $date2) { echo 'datetime2 is equal than datetime1'; } ?>
datetime1 lesser than datetime2
この例では、2 つの DateTime オブジェクトを作成します。これら 2 つの日付を比較するには、異なる比較演算子を使用して目的の結果を取得します。
以上がPHP での日付の比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。