-1

数据库将值存储为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 ; 

我该怎么做这个添加。谢谢

4

2 回答 2

0

如果您使用的是 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,然后更改时区并在输出日期时将其显示为新时区。

于 2013-08-12T04:57:17.770 回答
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) ;
于 2013-08-12T04:58:09.523 回答