1

私はしばらくこれで頭を悩ませてきました。$theDate今から24時間の範囲内にあるかどうかを確認する方法を知っている人はいますか.

これは私が思いついたコードですが、うまくいかないようです:(

if (time() <= ($theDate + 86400)) {
    // current time is 86400 (seconds in 24 hours) or less than stored time
}

注:$theDateは UNIX タイムスタンプです。

どんな助けでも大歓迎です。

ありがとう :)

4

2 に答える 2

8

あなたはそれを逆に持っています:

if ($theDate <= (time() + 86400)) {
    // current time is 86400 (seconds in 24 hours) or less than stored time
}
于 2013-09-30T15:31:37.227 に答える
1

範囲を常に 24 時間にしますか? DST から / への変更は、1 日 23 時間または 25 時間あることを覚えておいてください。

それを考慮に入れる方法はこれです: -

$tomorrow = (new \DateTime())->add(new \DateInterval('P1D'));
if((new \DateTime())->setTimestamp($theDate) < $tomorrow){
    //Do something
}

これらの非常に便利なクラスの詳細については、 DateTime マニュアルを参照してください。

于 2013-09-30T15:53:46.520 に答える