时间和日期函数在PHP中输出错误

时间:2018-01-25 06:28:16

标签: php date time

我试图做的是将这个简单等式的其余部分作为日期返回。

$time = (time()+(60*60*12)) - time();
$date = date('d H:i:s', $time);
echo $date;

如你所见,我增加了12小时,但这增加了1天+2小时。我卡在这里:/。

输出为01 14:00:00

预计为00 12:00:00

那么我做错了什么?

修改

我尝试了date_default_timezone_set()功能,但似乎对我不起作用:/

新编辑

我知道我什么时候这样做。

$time = time() - time();
$date = date('d H:i:s', $time);
echo $date;

打印出01 02:00:00这是什么?

2 个答案:

答案 0 :(得分:2)

您可以使用DateTime -

执行此操作
$start = new DateTime();
$end = new DateTime();
$end->modify('+12 hour');
$interval = $end->diff($start);
$elapsed = $interval->format('%a days %h hours %i minutes %s seconds');

echo $elapsed;

答案 1 :(得分:-1)

不是您的问题的答案,但请查看Carbon,“DateTime的简单PHP API扩展。”。对于这类DateTime问题非常有用。