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' です。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3