46

データベースにクエリを実行して日付を取得するphpイベントのカレンダーがあります。

次を使用してイベントの日付を表示します。

$event['date']

この表示は次の形式です。

2013-07-31例えば。

今、私がする必要があるのは、この日付が現在の日付よりも過去の日付であるかどうかを確認することです。

これどうやってするの?

4

4 に答える 4

102

日付を PHP のDateTimeクラスと比較できます。

$date = new DateTime($event['date']);
$now = new DateTime();

if($date < $now) {
    echo 'date is in the past';
}

注:後者は 2038 年より前の日付に対してのみ機能するため、DateTimeclassを使用することをお勧めします。 Year_2038_problemの詳細を参照してください。strtotime()

于 2013-09-26T14:40:26.603 に答える
20

あなたは使用することができstrtotime()ますtime()

if (strtotime($event['date']) < time()) {
    // past date
}
于 2013-09-26T14:41:20.320 に答える
3
if (time() > strtotime($event['date']))
{
    // current date is greater than 2013-07-31 
}

strtotimeは、これらのルールを使用して日付文字列を解析します。

于 2013-09-26T14:41:27.010 に答える