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

Php 为什么time()函数在不同的服务器上返回不同的值?,php,time,Php,Time,当我在本地写这行代码时,输出如下: echo time(); // 1464605083 echo time(); // 1339412843 当我在(在线PHP shell)上写入时,输出如下: echo time(); // 1464605083 echo time(); // 1339412843 正如您所看到的,这些输出之间存在巨大的差异。发生了什么?我如何同步它们 注意:我正在本地使用Xampp。您正在测试此功能的Web服务器有一个完全脱离系统的时间设置 如果查看测试脚本的日

当我在本地写这行代码时,输出如下:

echo time(); // 1464605083
echo time(); // 1339412843
当我在(在线PHP shell)上写入时,输出如下:

echo time(); // 1464605083
echo time(); // 1339412843
正如您所看到的,这些输出之间存在巨大的差异。发生了什么?我如何同步它们



注意:我正在本地使用Xampp。

您正在测试此功能的Web服务器有一个完全脱离系统的时间设置

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

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


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

测试脚本的Web服务器设置了完全脱离系统的时间

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

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


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

使用时区我希望它能起作用

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

使用时区我希望它能起作用

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

时区将因您使用的服务器而异。如果要在所有服务器中使用相同的时区。使用


date\u default\u timezone\u set('timezonename')

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


date\u default\u timezone\u set('timezonename')

如果您从代码返回的时间不正确,可能是因为您的服务器位于另一个国家或设置为不同的时区

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

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

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

如果您从代码返回的时间不正确,可能是因为您的服务器位于另一个国家或设置为不同的时区

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

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

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


看一看似乎与您当前发行的非常相似。@我想是的,但如何更改本地计算机上的时区?这取决于我的操作系统(windows)还是PHP有自己的时区?
05/30/2016@10:44am(UTC)
vs
06/11/2012@11:07am(UTC)
看起来不像是时区问题。您是否检查了两台机器上的系统日期?使用DateTime对象比使用unix时间戳容易得多,DateTime对象以更易于管理的方式合并时区它似乎忽略了时区设置,但您需要检查两台服务器上的实际时间。看一看,这似乎与您当前的问题非常相似。@DainisAbols我想是的,但如何更改本地服务器上的时区?这取决于我的操作系统(windows)还是PHP有自己的时区?
05/30/2016@10:44am(UTC)
vs
06/11/2012@11:07am(UTC)
看起来不像是时区问题。您检查了两台机器上的系统日期了吗?使用DateTime对象比使用unix时间戳要容易得多,DateTime对象以一种更易于管理的方式合并时区它似乎忽略了时区设置,但您需要检查两台服务器上的实际时间。我明白了,但是如何为我的PHP设置默认值呢?在哪个配置文件中?ini?我明白了,但是如何为我的php设置默认值呢?在哪个配置文件中?ini?欢迎。如果有用的话。标记为正确答案。欢迎光临。如果有用的话。标记为正确答案。干杯