date_default_timezone_set();不工作

date_default_timezone_set(); NOT working

我已经测试了这段代码

<?php
//date_default_timezone_set('Europe/Helsinki');
//date_default_timezone_set('Europe/London');
date_default_timezone_set("America/New_York");
$date1 = date("Y-m-d");
$unixDate=time();
echo '[{ "DATE" : "'.$date1.'"},{ "UNIXTIME" : "'.$unixDate.'" }]';
?>

在多个站点 (http://sandbox.onlinephpfunctions.com/ and http://www.tutorialspoint.com/execute_php_online.php) 中,包括我的本地服务器和托管服务器。即使我更改 date_default_timezone_set,所有这些都以秒为单位显示一些 UNIXTIME。

你知道为什么会这样吗?

time() 与时区无关。这意味着,无论时区如何配置,它总是 return 自 1970 年 1 月 1 日以来的秒数。它总是采用 UTC 时间。

The function time() returns always timestamp that is timezone independent (=UTC).

来源: http://php.net/manual/pl/function.time.php#100220