我会使用PHP在日期时间添加一定的小时数。 我有兴趣只使用小时格式显示结果。
例如,我将日期时间增加8小时,如下所示:
$result= date("H:i", strtotime('18:00') + 8*3600);
但我得到的结果值 01:00 ,但结果会得到26 ..
请帮助我,我找不到解决办法:(
谢谢大家
答案 0 :(得分:2)
使用DateTime
:
$date = new DateTime('18:00:00');
$date->modify('+8 hours');
echo $date->format('H:i');
编辑:也许我当时不明白这个问题。如果您想获得26
,那么您可以使用以下内容:
$date = new DateTime('18:00:00');
echo $date->format('H') + 8;
答案 1 :(得分:0)
基本PHP日期数学。 strtotime()
返回一个unix时间戳,这是自1970年1月1日午夜以来的秒数。
date()
获取这些时间戳并将它们格式化为您想要的任何表示形式。但'H'
不“从零开始的小时数”。这是“一天中的小时”。如果您的时间戳代表2014年7月8日中午12点,那么H
将是12,因为它是中午。自1970年1月1日以来,它不会达到50亿小时。
e.g。
Jul 8/2014 11pm + 3 hours = Jul 9/2014 2am.
date('H' of Jul 9/2014) = 2, not "14"