使用PHP / mysql我使用函数mktime实现了一个表单,用于在数据库中保存unix格式的时间。视图表单使用日期函数以可读格式显示时间。 直到现在我才发现我正按照要求使用当地时间而不是GMT(UTC)时间。 对于gmmktime的更改mktime和gmdate的日期,这些更改非常容易。但问题是,是否有办法将DB中已经存在的时间(采用unix格式)从本地时间转换为gmt时间。 感谢
答案 0 :(得分:0)
您可以使用函数gmdate()
。看看Manual。
答案 1 :(得分:0)
这是我编写的用于进行时区转换的函数。应该是不言自明的:
function switch_timezone($format, $time = null,
$to = "America/Los_Angeles", $from = "America/Los_Angeles")
{
if ($time == null) $time = time();
$from_tz = new DateTimeZone($from);
$to_tz = new DateTimeZone($to);
if (is_int($time)) $time = '@' . $time;
$dt = date_create($time, $from_tz);
if ($dt)
{
$dt->setTimezone($to_tz);
return $dt->format($format);
}
return date($format, $time);
}