PHP时间戳慢一个小时

Jam*_*mes -2 php time timezone date epoch

我正在研究一个用vanilla 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' );
Run Code Online (Sandbox Code Playgroud)

但是,在服务器上运行此脚本时,结果如下:

Timestamp: 1509058800
Pretty Date: 2017-10-27 00:00:00
Run Code Online (Sandbox Code Playgroud)

漂亮的日期代表10月27日00:00,但时间戳(根据epochconvertor)代表10月26日23:00.

我不确定为什么时间戳会慢一个小时.有人可以帮忙吗?

小智 6

如果你在伦敦,那么你的时间戳可能在英国夏令时.时代将在格林尼治标准时间.BST比格林威治标准时间早一个小时.