一小时慢的PHP时间戳
问题描述:
我正在研究一个用vanilla PHP编写的古代系统。一小时慢的PHP时间戳
我有一些时间转换问题。
在下面的例子中,我的期待都时间戳和“漂亮的日期”,以反映彼此:
<?php
date_default_timezone_set('Europe/London');
$timestamp = 1509062400; //Friday, October 27, 2017 12:00:00 AM
$date = new DateTime();
$date->setTimezone(new DateTimeZone('Europe/London'));
$date->setTimestamp($timestamp + 3601);
$date->setTime(0, 0);
echo $date->getTimestamp();
echo '<br/>';
echo $date->format('Y-m-d H:i:s');
然而,在服务器上运行此脚本时,结果如下:
Timestamp: 1509058800
Pretty Date: 2017-10-27 00:00:00
漂亮的日期代表10月27日00:00,但时间戳(根据epochconvertor)代表10月26日23:00。
我不知道为什么时间戳慢一个小时。谁能帮忙?
'setTime(0,0)'将时间设置为'00:00:00'。 – Barmar
这正是我想要的...? – James
'$ date-> setTimestamp($ timestamp + 3601)的用途是什么;'如果下一行完全覆盖它? – ceejayoz