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 时间。当您的第二个代码块运行时,您想再次检查 time(),因此您应该执行以下操作:

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

其中 14400 是以秒为单位的 4 小时 (60*60*4 == 14400)。当然,可能没有理由将 time() 设置为变量,但以防万一。

于 2013-01-10T21:23:02.560 回答