PHP 時間の比較: 詳細ガイド
PHP での時間の比較は、習得するのが難しい作業になる場合があります。この記事では、さまざまな方法を使用して時間を効果的に比較する方法について包括的に説明します。
現在のソリューションの制限
質問に示されているコード スニペット。 $NowisTime と $ThatTime の比較は、文字列間の比較であるため失敗します。 PHP の文字列比較では時差が適切に考慮されません。
タイム スタンプを使用した解決策
信頼できる方法の 1 つは、mktime() または strtotime を使用して両方の時間をタイム スタンプに変換することです。 () を使用して数値比較を実行します。次の修正されたコードは、これを示しています。
$ThatTime = "14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
この場合、time() は現在のタイムスタンプを返し、strtotime() は $ThatTime をタイムスタンプに変換します。比較は簡単かつ正確になりました。
DateTime を使用した解決策 (タイムゾーン認識付き)
PHP の DateTime クラスを使用すると、タイム ゾーンを考慮したより高度な時刻比較が可能になります。これを利用する方法は次のとおりです。
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == '+') { echo "OK"; }
diff() メソッドは 2 つの DateTime オブジェクトの差を計算し、format() メソッドはそれを特定の形式 (ここでは '%R' など) で返します。正または負の差を示します。
以上がPHP で時間を比較する方法: 総合ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。