我希望在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”。 有没有其他办法可以这样做。
答案 0 :(得分:6)
将日期按固定数字移动时,最好使用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'));
答案 1 :(得分:2)
strtotime()
在这里非常有用。
$trigger_date_time = date( "Y-m-d H:i:s", strtotime( "tomorrow 9:30" ) );
答案 2 :(得分:1)
通过unix时间戳计算它 - 更不用说烦恼了
<?php
$trigger_date_time = date("Y-m-d 09:30:00",time() + 60*60*24);
echo $trigger_date_time;
?>
答案 3 :(得分:0)
查看date_add
。
更详细地说,像......
$myDate = new DateTime("Some time");
$myDate->add(new DateInterval("P1D"));
然后,您可以使用$myDate->format(…)
提取格式化的表示。
答案 4 :(得分:0)
echo date('Y-m-d', strtotime('+1 day')) . ' 09:30:30';