PHP での日付の比較: ゼロ埋め込みが欠落している日付の処理
PHP では、データベースにゼロのない日付が格納されている場合、日付の比較が困難になることがあります。 -10 日未満の日はパディング。この問題に対処するには、いくつかのアプローチが考えられます。採用:
strtotime の使用と整数タイムスタンプの比較
日付が常に 1970 年 1 月 1 日以降になる場合は、strtotime 関数を使用して両方の日付を整数タイムスタンプに変換できます。 。これらのタイムスタンプは次のように比較できます。
<?php $today = date("Y-m-d"); $expire = $row->expireDate; // from the database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* Do something */ } ?>
DateTime クラスの利用 (PHP 5.2.0 )
柔軟性を高め、より複雑な日付形式をサポートするには、次のことを検討してください。 DateTime を使用するclass:
<?php $today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ } ?>
注:
データベースに保存されている日付が予期される形式と一致していることを確認してください。この場合、形式は「Y-m-d」で、10 日未満の日にはゼロ埋め込みが行われません。
以上が日にゼロが埋め込まれていない場合に、PHP で日付を比較する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。