增加时区时差(GMT值)

时间:2013-08-12 04:51:44

标签: php time timezone gmt

数据库将值存储为YYYY-MM-DD HH:MM:SS (例如2013-04-14%2015:00:00),这是格林尼治标准时间,但真实值是上述日期和时间+服务器的时区差异。

$time_heard = '2013-04-14%2015:00:00';
$time_diff = date('p')

$real_time = $time_heard + $time_diff  ;

echo $real_time ; 

我该怎么做这个补充。 感谢

2 个答案:

答案 0 :(得分:0)

如果您正在使用MySQL,则可以直接在SELECT中使用CONVERT_TZ功能。 http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_convert-tz

如果您需要在PHP中执行此操作,请使用DateTime class creating a new DateTime with the timezone set to GMT然后changing the timezoneoutput the date时,它应显示为新时区。

答案 1 :(得分:0)

您可以使用date_default_timezone_set()功能设置所需区域的时间

在这里您可以找到不同的区域:http://www.php.net/manual/en/timezones.php

或者如果你坚持,你可以使用date_parse_from_format()

这是手册:http://php.net/manual/en/function.date-parse-from-format.php

编辑:使用简单函数执行此操作的另一种方法:

$tmstamp = strtotime($date1) + strtotime($date2);
echo date("YYYY-MM-DD HH:MM:SS", $tmstamp) ;