当我写这行的本地代码,输出将是这样的:为什么time()函数在不同的服务器上返回不同的值?
echo time(); // 1464605083
当我写的3v4l(在线PHP壳)输出将是这样的:
echo time(); // 1339412843
正如您所见,这些输出之间存在巨大差异。怎么了?我该如何同步它们?
注:我使用XAMPP在我的地方。
当我写这行的本地代码,输出将是这样的:为什么time()函数在不同的服务器上返回不同的值?
echo time(); // 1464605083
当我写的3v4l(在线PHP壳)输出将是这样的:
echo time(); // 1339412843
正如您所见,这些输出之间存在巨大差异。怎么了?我该如何同步它们?
注:我使用XAMPP在我的地方。
那个时区将根据您所使用的服务器是有所不同。如果你想在你的所有服务器上使用相同的时区。使用
date_default_timezone_set('timezonename')
谢谢.. +1 –
欢迎。如果它是有用的。标记为正确答案。欢呼声 –
您正在测试的网络服务器具有完全关闭的系统时间设置。
如果你看看测试脚本的日期(在标题栏旁边),你会发现它已被保存在@ Mon Jun 11 2012 11:07:23
。您的时间戳1339412843
转换为06/11/2012 @ 11:07am (UTC)
因此,服务器时间是错误的。如果时间紧迫,请在其他地方测试脚本。
我明白了,但是我怎样才能为我的PHP设置默认值?在哪个文件的配置? * php.ini中*? –
好的,谢谢。 +1 –
使用时区,我希望它的工作...
<?php
date_default_timezone_set('America/New_York');
echo $date= time() ;
?>
谢谢.. upvote –
如果你得到了从代码后面的时间不正确的时间,这可能是因为你的服务器是在其他国家或设置为不同的时区。
因此,如果您需要时间根据特定位置正确,您可以设置一个时区以供使用。
下面的示例将时区为“美国/纽约”,然后输出在指定格式的当前时间:
<?php
date_default_timezone_set("America/New_York");
echo "The time is " . date("h:i:sa");
?>
谢谢.. +1 –
看一看[这里](http://stackoverflow.com/questions/ 13978567/time-returns-different-timestamps-based-on-server)似乎与您目前的问题非常相似。 – Andrew
@DainisAbols我这么认为,但我怎样才能改变我的本地时区?这取决于我的操作系统*(Windows)*或PHP有它自己的时区? –
'05/30/2016 @ 10:44 am(UTC)'vs'06/11/2012 @ 11:07 am(UTC)'看起来不像时区问题。你有没有在两台机器上检查系统日期? –