Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php strotime函数在不同的服务器上返回不同的值_Php_Strtotime - Fatal编程技术网

Php strotime函数在不同的服务器上返回不同的值

Php strotime函数在不同的服务器上返回不同的值,php,strtotime,Php,Strtotime,我正在制作一个日历,它可以在本地主机上完美运行,但不能在我的服务器站点上运行。 我想我的问题是因为时间问题 while($rows = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC)) { $start = strtotime($rows['DATEFROM']) * 1000; $end = strtotime($rows['DATETO']) * 1000; $calendar[] = array('ID

我正在制作一个日历,它可以在本地主机上完美运行,但不能在我的服务器站点上运行。 我想我的问题是因为时间问题

while($rows = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC))  
        { 
    $start = strtotime($rows['DATEFROM']) * 1000;
    $end = strtotime($rows['DATETO']) * 1000;
    $calendar[] = array('ID' =>$rows['ID'],
    'start' => "$start",
    'end' => "$end"
        );
这部分代码给出了

"start":"1528588800000","end":"1528675200000" 
所以,事件似乎在日历中,但在我的服务器站点中,我使用IIS服务器,它提供

 "start":"1528578000000","end":"1528664400000"
因此,事件似乎并不完美

我搜索了一下,你们大多数人都说它发生在时区,但我的本地主机时区和服务器站点时区是一样的。它是美国/弗吉尼亚州

我知道localhost中的php.ini文件表示timezone=UTC,但我不知道我的IIS服务器时区(当我搜索ISS服务器时使用服务器站点时间)

localost映像:

服务器站点映像:

数据库:

您的服务器位于不同的位置和时区。如果有必要,你可以简单地计算时间,然后加减差。我在1和1互联网上也有类似的问题。

我怀疑其中一个是你提到的
UTC
,另一个是
东部时间(弗吉尼亚州)。它们相差4小时,这正是您在这里所期望的,因为UTC比东部时间早4小时。也许可以将
php.ini中
localhost
的时区更改为
America/New_York
,以便它们匹配。那么如何将ISS服务器站点“America”更改为“UTC”,因为UTC时区在
php.ini
中给出了正确的答案集
date.timezone
。这是基于SQL查询的结果吗?那么,在PHP配置中设置时区可能还不够——您可以共享原始值吗?