对于 unix 格式时间,从本地时间更改为 GMT
Posted
技术标签:
【中文标题】对于 unix 格式时间,从本地时间更改为 GMT【英文标题】:Change from Local Time to GMT for unix format time 【发布时间】:2011-05-20 13:44:40 【问题描述】:使用 php/mysql 我使用函数 mktime 实现了一个表单,用于在 db 中以 unix 格式保存时间。视图表单使用日期函数以可读格式显示时间。 直到现在我才发现我使用的是本地时间,而不是要求的 GMT (UTC) 时间。 在 sw 中更改 gmmktime 的 mktime 和 gmdate 的日期是非常容易的。但问题是是否有办法将数据库中已经存在的时间(以 unix 格式)从本地时间转换为格林威治标准时间。 谢谢
【问题讨论】:
【参考方案1】:您可以使用函数gmdate()
。看看Manual。
【讨论】:
【参考方案2】:这是我编写的用于进行时区转换的函数。应该是不言自明的:
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);
【讨论】:
以上是关于对于 unix 格式时间,从本地时间更改为 GMT的主要内容,如果未能解决你的问题,请参考以下文章
在pyspark中将Unix(Epoch)时间更改为本地时间