PHP では、さまざまなアプローチを使用して時間の比較を実現できます。それらを調べて、時間の比較における特定の問題を解決しましょう。
問題:
指定されたコードは時間を正しく比較できず、期待どおりに「ok」を出力します:
$ThatTime ="14:08:10"; $todaydate = date('Y-m-d'); $time_now=mktime(date('G'),date('i'),date('s')); $NowisTime=date('G:i:s',$time_now); if($NowisTime >= $ThatTime) { echo "ok"; }
解決策 1:
strtotime() 関数を使用して時刻文字列をタイムスタンプに変換します:
$ThatTime ="14:08:10"; if (time() >= strtotime($ThatTime)) { echo "ok"; }
解決策 2:
タイムゾーンも考慮する DateTime クラスを利用します:
$dateTime = new DateTime($ThatTime); if ($dateTime->diff(new DateTime)->format('%R') == '+') { echo "OK"; }
参照:
https://php.net/datetime.diff
以上がPHP で時間を比較し、一般的なエラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。