数据库将值存储为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 ;
我该怎么做这个补充。 感谢
答案 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 timezone,output 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) ;