我正在制作日历,它可以在localhost上完美运行,但不能在我的服务器站点上运行。 我认为我的问题是由于strtotime而发生的。
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文件说时区= UTC,但我不知道我的IIS服务器时区(当我搜索ISS服务器时使用服务器站点时间)
本地图片: https://i.stack.imgur.com/ZwMgV.jpg
服务器站点图像: https://i.stack.imgur.com/nSNdQ.jpg
答案 0 :(得分:0)
您的服务器位于不同的位置和不同的时区。如果必须的话,您可以简单地获取时间并增加或减去差值。我在1and1互联网上也遇到了类似的问题。