为什么time()函数在不同的服务器上返回不同的值?

时间:2016-05-30 09:51:38

标签: php time

当我在本地编写这行代码时,输​​出将是:

echo time(); // 1464605083

当我写入3v4l (在线PHP shell)时,输出将是:

echo time(); // 1339412843

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

注意:我在本地使用Xampp。

4 个答案:

答案 0 :(得分:2)

如果您从代码中返回的时间不合适,可能是因为您的服务器位于其他国家/地区或设置的时区不同。

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

以下示例将时区设置为" America / New_York",然后以指定格式输出当前时间:

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

答案 1 :(得分:1)

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

如果您查看测试脚本的日期(在标题字段旁边),您会看到它已保存在@ Mon Jun 11 2012 11:07:23

您的时间戳1339412843会转换为06/11/2012 @ 11:07am (UTC)

所以,服务器时间错了。如果时间紧迫,请在其他地方测试您的脚本。

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

该时区将根据您使用的服务器而有所不同。如果要在所有服务器中使用相同的时区。使用

date_default_timezone_set('timezonename')