2011-05-20 40 views
0

使用PHP/mysql我使用函数mktime实现了一种以unix格式保存db的窗体。视图窗体使用日期函数以可读格式显示时间。 只是现在我发现我按照要求使用了当地时间,而不是GMT(UTC)时间。 对于gmmktime和gmdate的日期,这些更改很容易在sw更改mktime中进行。但问题是如果有一种方法可以将数据库中已有的时间(以unix格式)从本地时间转换为gmt时间。 感谢从本地时间到格林尼治标准时间的更改

回答

0

你可以使用函数gmdate()。看看Manual

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); 
} 
相关问题