PHP提前一天

时间:2011-03-28 05:45:21

标签: php datetime time

我有一些功能取决于某些事情是否已经及时发生。 目前,我这样做:

$hike_time = strtotime($month.'/'.$day.'/'.$year.' '.$start_time);
if($hike_time < mktime())
{
  // Do stuff :)
}

但我需要等待一天或十二小时(不确定),直到我更改功能 如何让mktime()为+1天或+12小时?

在用户体验方面,如何处理这种基于事件的用户体验怪癖?

4 个答案:

答案 0 :(得分:8)

您可以使用strtotime()

$tomorrow = strtotime('+1 day');

var_dump(
   date(DATE_RFC850, time()), // string(30) "Monday, 28-Mar-11 05:48:47 UTC"
   date(DATE_RFC850, $tomorrow) // string(31) "Tuesday, 29-Mar-11 05:48:47 UTC"
);

CodePad

答案 1 :(得分:1)

Strtotime给出了称为unix时间戳的时间。这是1970年1月1日的秒数。所以你得到的数字,你可以加上和减去你想要的秒数。
也就是将来的12个小时
$hike_time = strtotime($month.'/'.$day.'/'.$year.' '.$start_time) + (60 * 60 * 12);

答案 2 :(得分:1)

$tomorrow=date("M-d-Y",mktime(0,0,0,$day+1,$month,$year));

答案 3 :(得分:0)

作为一般解决方案,请添加一天中的秒数(86400)。