PHP での日付の比較: ゼロ埋め込み以外の日の処理
PHP で日付を比較する場合、日付がデータベースはゼロ埋めの形式に従っていない可能性があります (例: "2011-10-2")。これにより、標準の日付比較演算子を使用すると、誤った比較が行われる可能性があります。
strtotime() を使用した解決策
1970 年 1 月 1 日以降の日付の場合は、PHP の strtotime( ) 日付を比較する関数:
$today = date("Y-m-d"); $expire = $row->expireDate; //from database $today_time = strtotime($today); $expire_time = strtotime($expire); if ($expire_time < $today_time) { /* do Something */ }
strtotime() は、日付と時刻を表す文字列を、1970 年 1 月 1 日からの秒数を表す UNIX タイムスタンプに変換します。これにより、タイムスタンプを比較することで日付を比較できます。
DateTime クラスを使用した解決策
PHP バージョン 5.2.0 以降では、DateTime クラスを使用して操作できます。日付:
$today_dt = new DateTime($today); $expire_dt = new DateTime($expire); if ($expire_dt < $today_dt) { /* Do something */ }
DateTime クラスは、比較演算子を含む、日付と時刻を操作するための包括的な関数セットを提供します。
その他の考慮事項
以上がPHP で日付、特にゼロ埋めされていない日付を確実に比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。