php Date()返回错误的日期和时间

php Date()返回错误的日期和时间,php,Php,我有以下代码来测试正在发生的事情: echo date('y-m-d H:i:s'); echo "<br/>"; echo date_default_timezone_get(); 亚洲/马尼拉的当前时间为 18-05-27 8:28pm 那么,当我设置正确的时区时,为什么它会返回错误的日期和时间呢?日期使用time()的默认值,正如php手册顶部注释中指出的,默认值为UTC 请参见此处的php手册: 修改到strftime(“%F%T”,mktime())将解决此问题 我解决

我有以下代码来测试正在发生的事情:

echo date('y-m-d H:i:s');
echo "<br/>";
echo date_default_timezone_get();
亚洲/马尼拉的当前时间为

18-05-27 8:28pm

那么,当我设置正确的时区时,为什么它会返回错误的日期和时间呢?

日期使用
time()
的默认值,正如php手册顶部注释中指出的,默认值为UTC

请参见此处的php手册:


修改到strftime(“%F%T”,mktime())将解决此问题

我解决了这个问题。这是windows的问题。 Windows实际上使用了不同的时区。 因此,设置正确的时区会使事情变得正确


很可能是服务器的时钟错误。运行NTP同步。该语言从操作系统获取时间,检查服务器/计算机时间并确保其正确是时间正确。丹尼尔。我现在在马尼拉,所以这次我在用。我会在Niet中查找。什么是
echo exec('date')给定日期“%F”是yyyy-mm-dd,“%T”是hh:mm:ssA在这种情况下会引发通知
警告:date():依赖系统的时区设置是不安全的…
True。有一种方法可以获取本地时间作为数组,并将其作为字符串传递给mktime(),尽管这可能有点过分也应该解决了这个问题。在代码中显式设置时区是一种好的做法,这样代码就可以在任何服务器上工作。永远不要假设服务器有正确的时区。我还没有试过。但我同意这是一个很好的做法。因此,我将把它放在我的代码上。:)谢谢
18-05-27 8:28pm