次のような値を格納する DATETIME 列があります。
2012-05-20 14:00:00
$row['Date']
日付を現在の日付 (時間は重要ではありません) と比較して、今日より古いかどうかを確認するにはどうすればよいですか?
if($row['Date'] < ...) {
echo 'date has passed'
}
次のような値を格納する DATETIME 列があります。
2012-05-20 14:00:00
$row['Date']
日付を現在の日付 (時間は重要ではありません) と比較して、今日より古いかどうかを確認するにはどうすればよいですか?
if($row['Date'] < ...) {
echo 'date has passed'
}
SQL に比較させてみませんか?
SELECT *, DATE(`Date`) < DATE(NOW()) AS is_old ...
次に、日付が今日より前の場合は 1、そうでない場合は 0 である「is_old」という列があります。したがって、PHP で行う必要があるのは、次のようなことだけです。
if ($row['is_old']) {
// handle the old date case
}
strtotime($row['Date']) < time() + 60 * 60 * 24;
time() に余分な日 (60 秒 * 60 分 * 24 時間) を追加して、要求された時間/分/秒を効果的に無視します。
それはとても簡単です:Dオフセットなども非常に簡単に追加できます:
if( $row['Date'] < date('Y-m-d') ) {
echo 'date has passed';
}
適切な方法は、MySQL 日付文字列を、PHP が時間値を理解する形式に変換することです。
$date = strtotime( $row['date'] );
次に、現在の時刻と比較できます。
if ( $phpdate < time() ) {
...
}