我设置了我的mysql db:SET time_zone = 'America/Los_Angeles';
并在PHP
date_default_timezone_set('America/Los_Angeles');
但是当我添加
$time = strtotime ("+2 minutes");
和
$time2 = gmdate("Y-m-d H:i:s", $time);
到db我错了一个小时错了,当我从mysql这样得到它时:
$query ="select UNIX_TIMESTAMP("time"), time2 from tbl;
if ($result = $conn->query($query)) {
while ($row = $result->fetch_assoc()) {
$unix_time = $row["UNIX_TIMESTAMP("time")"];
$unix_time2 = $row["time2"];
}
$result->close();
} ,
echo gmdate("Y-m-d H:i:s", $unix_time)." | ".gmdate("Y-m-d H:i:s", $unix_time2)." ";
显示:
2010-12-26 01:06:48
| 2010-12-26 02:06:24
答案 0 :(得分:0)
unix_timestamp()
将检索您当前处于夏令时模式的本地时间戳。 gmdate()
使用Greenwhich Mean Time,即UTC,没有DST,所以你会得到1小时的差异。使用date()
代替gmdate()
来处理DST感知。