服务器日期与我的国家日期不匹配

时间:2011-07-08 12:08:44

标签: php datetime

服务器日期/时间与我的国家/地区日期/时间不匹配 例如服务器时间:晚上11点30分..但我的当地时间已经是早上5.3点

2 个答案:

答案 0 :(得分:1)

这可能是因为服务器和客户端位于不同的timezones

始终使用“0时区”UTC在全球范围内获得相同的时间表示。在php中,您可以使用前缀为gm的函数(例如gmtime)来获取UTC日期。或者,您可以使用default_timezone_set

在代码中设置时区

例如,我在德国的当地时间是CEST或UTC + 2,即UTC前2小时:

<?php
echo 'Local time (Germany, CEST): ' . strftime('%F %H:%M:%S %z (%Z)') . "\n";
echo 'UTC (England, GMT): '       . gmstrftime('%F %H:%M:%S %z (%Z)') . "\n";
date_default_timezone_set('America/Los_Angeles');
echo 'LA time (US, PDT): '          . strftime('%F %H:%M:%S %z (%Z)') . "\n";

输出:

Local time (Germany, CEST): 2011-07-08 14:24:56 +0200 (CEST)
UTC (England, GMT):         2011-07-08 12:24:56 +0000 (GMT)
LA time (US, PDT):          2011-07-08 05:24:56 -0700 (PDT)

答案 1 :(得分:0)

如果您希望脚本与您的本地时间相匹配,请更改您的php时区。 如果你使用apache,你可以使用.htaccess文件。

或者只是把它放在你的PHP代码之前

<?php

date_default_timezone_set( 'Europe/Amsterdam' );

//the rest of your code

?>

用您自己的时区替换'Europe / Amsterdam'。 请查看:http://php.net/manual/en/timezones.php获取时区列表