2016-05-30 93 views
0

当我写这行的本地代码,输出将是这样的:为什么time()函数在不同的服务器上返回不同的值?

echo time(); // 1464605083 

当我写的3v4l(在线PHP壳)输出将是这样的:

echo time(); // 1339412843 

正如您所见,这些输出之间存在巨大差异。怎么了?我该如何同步它们?


注:我使用XAMPP在我的地方。

+2

看一看[这里](http://stackoverflow.com/questions/ 13978567/time-returns-different-timestamps-based-on-server)似乎与您目前的问题非常相似。 – Andrew

+0

@DainisAbols我这么认为,但我怎样才能改变我的本地时区?这取决于我的操作系统*(Windows)*或PHP有它自己的时区? –

+0

'05/30/2016 @ 10:44 am(UTC)'vs'06/11/2012 @ 11:07 am(UTC)'看起来不像时区问题。你有没有在两台机器上检查系统日期? –

回答

1

那个时区将根据您所使用的服务器是有所不同。如果你想在你的所有服务器上使用相同的时区。使用

date_default_timezone_set('timezonename')

+0

谢谢.. +1 –

+0

欢迎。如果它是有用的。标记为正确答案。欢呼声 –

1

您正在测试的网络服务器具有完全关闭的系统时间设置。

如果你看看测试脚本的日期(在标题栏旁边),你会发现它已被保存在@ Mon Jun 11 2012 11:07:23。您的时间戳1339412843转换为06/11/2012 @ 11:07am (UTC)

因此,服务器时间是错误的。如果时间紧迫,请在其他地方测试脚本。

+0

我明白了,但是我怎样才能为我的PHP设置默认值?在哪个文件的配置? * php.ini中*? –

+0

好的,谢谢。 +1 –

1

使用时区,我希望它的工作...

<?php 
date_default_timezone_set('America/New_York'); 
echo $date= time() ; 
?> 
+0

谢谢.. upvote –

2

如果你得到了从代码后面的时间不正确的时间,这可能是因为你的服务器是在其他国家或设置为不同的时区。

因此,如果您需要时间根据特定位置正确,您可以设置一个时区以供使用。

下面的示例将时区为“美国/纽约”,然后输出在指定格式的当前时间:

<?php 
date_default_timezone_set("America/New_York"); 
echo "The time is " . date("h:i:sa"); 
?> 
+1

谢谢.. +1 –

相关问题