我想在PHP中获得特定日期和时间的日期,就像我想要第二天的日期和时间是上午9:30,即"2011-06-02 09:30:00"。我使用的代码就是这样做的,
<?php
$next_day_date = date("Y")."-".date("m")."-".(date("d")+1)." 09:30:00";
$new_trig_time_stamp = strtotime($next_day_date);
$trigger_date_time = date("Y-m-d H:i:s",$new_trig_time_stamp);
echo $trigger_date_time;
?>
上面的代码运行良好,但在31天失败,在31日返回"1970-01-01 05:30:00"。还有其他方法吗?
当按固定数字移动日期时,最好使用mktime()
,因为它能很好地处理无效日期(例如,它知道1月32日实际上是2月1日)
$trigger_date_time = date("Y-m-d H:i:s", mktime(9,30,0, date('n'), date('j')+1, date('Y'));
strtotime()
在这里非常有用。
$trigger_date_time = date( "Y-m-d H:i:s", strtotime( "tomorrow 9:30" ) );
通过unix时间戳计算它-更少的麻烦
<?php
$trigger_date_time = date("Y-m-d 09:30:00",time() + 60*60*24);
echo $trigger_date_time;
?>
echo date('Y-m-d', strtotime('+1 day')) . ' 09:30:30';
看看date_add
。
更详细地说,类似于。。。
$myDate = new DateTime("Some time");
$myDate->add(new DateInterval("P1D"));
然后可以使用$myDate->format(…)
提取格式化的表示。