服务器日期/时间与我所在国家的日期/时间不匹配例如服务器时间:晚上11:30 ..但是我的当地时间已经是凌晨5点了
这可能是因为服务器和客户端在不同的时区。
始终使用"0 timezone" UTC来获得全球相同的时间表示。在php中,您可以使用以gm
为前缀的函数来获取UTC的日期,例如gmtime
。或者,您可以在代码中使用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)
如果您希望您的脚本匹配您的本地时间更改您的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查看时区列表