0

私はどこのようなことをしたかった:

$time = time();
//Store the time in the dabase

//Some time later, say three hours this code runs
// so if your time() was 2pm its now 5pm when this statement
// is run.
if($time < 4 hours){
    // do something.
}

しかし、これを行う最もクリーンな方法が何であるかはわかりません。

4

2 に答える 2

2

OOP スタイル

$start = new DateTime;

// Do something

if ($start < new DateTime('-4 hours')) {
    // Do something different
}

http://php.net/datetime

非 OOP の方法もシンプルです

$start = time();

// Do something

if ($start < strtotime('-4 hours')) {
    // Do something different
}

http://php.net/strtotime

于 2013-01-10T21:22:56.017 に答える
1

time() は、php の時間を秒単位で返します。コードの 2 番目のブロックが実行されたときに、time() をもう一度確認したい場合は、次のようにする必要があります。

$timeNow = time();
if($savedTime < $timeNow-14400){
    // do something
}

ここで、14400 は 4 時間 (60*60*4 == 14400) 秒です。もちろん、 time() を変数に設定する理由はないかもしれませんが、念のためです。

于 2013-01-10T21:23:02.560 に答える