数据库将值存储为YYYY-MM-DD HH:MM:SS
(例如 2013-04-14%2015:00:00),这是 GMT 时间,但真实值是上述日期和时间 + 服务器的时区差异。
$time_heard = '2013-04-14%2015:00:00';
$time_diff = date('p')
$real_time = $time_heard + $time_diff ;
echo $real_time ;
我该怎么做这个添加。谢谢
如果您使用的是 MySQL,您可以直接在 SELECT 中使用 CONVERT_TZ 功能。 http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_convert-tz
如果您需要在 PHP 中执行此操作,请使用DateTime 类,方法是创建一个新的 DateTime 并将时区设置为 GMT,然后更改时区并在输出日期时将其显示为新时区。
您可以使用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) ;