ホームページ >バックエンド開発 >PHPチュートリアル >PHP 時間比較コードが機能しないのはなぜですか?

PHP 時間比較コードが機能しないのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-10 16:16:03288ブラウズ

Why is My PHP Time Comparison Code Not Working?

PHP での時間の比較: 時間を明らかにする

PHP では、時間に敏感なアプリケーションを扱う場合、時間の比較は重要なタスクです。これを効果的に達成するために、プログラマーは多くの場合、関連するテクニックと落とし穴を知る必要があります。 PHP における時間比較をより深く理解するために、特定のシナリオとその解決策を見てみましょう。

課題: 時間比較

次のコードを考えてみましょう:

$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";
}

このコードでは、現在時刻 ($NowisTime) が指定された時刻以上であるかどうかを確認することを目的としています。時間 ($ThatTime)。ただし、コードは期待どおりに動作しないようです。

解決策: 正確な時間計算

この問題に対処するには、PHP で時間を比較する正しい方法は次のとおりです。 strtotime() 関数を使用して、時刻の文字列表現 ($ThatTime) をタイムスタンプに変換します。タイムスタンプは時間を数値で表現したものであり、簡単に比較できます。修正された解決策は次のとおりです。

$ThatTime = "14:08:10";
if (time() >= strtotime($ThatTime)) {
    echo "ok";
}

これで、コードは現在のタイムスタンプが指定された時刻以上であるかどうかを正確に判断します。

代替アプローチ

strtotime() の使用に加えて、時間に関して他のメソッドを使用することもできます比較:

  • DateTime クラス: 日付と時刻を処理するための、よりオブジェクト指向のアプローチを提供します。
  • DateTime::diff(): 2 つの DateTime オブジェクトの差を計算し、時間を比較できるようにします

PHP での時間比較のテクニックとニュアンスを理解することで、時間に敏感なタスクを正確かつ効果的に処理するアプリケーションを自信を持って開発できます。

以上がPHP 時間比較コードが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。