2011-04-08 138 views
1

我想将php中的日期从UTC格式转换为UTC + 5。 如果是从格林尼治标准时间GMT + 5,我只想做:php时区“等/ GMT + 5”相当于UTC(“Etc/UTC + 5”?)

$date_str = '2011-04-01 12:00:00'; //ex:from database 

$date = new DateTime($date_str,new DateTimeZone('GMT')); 
$date->setTimezone(new DateTimeZone('Etc/GMT+5')); 

echo $date->format('Y-m-d H:i:s'); //testing 

在PHP中时区列表here,不过是没有 'ETC/UTC + 5' 等同。

有没有办法在UTC中将UTC转换为UTC + 5?

还是会让格林威治时间的例子相同的结果?

将'UTC'转换为'Etc/GMT + 5'会不对?

注:

  • 我实际使用日期(从我的数据库)是UTC格式。
  • 对于UTC和GMT时间格式之间的差异,我仍然有点困惑。

回答

1

作为民用时区,GMT和UTC现在被认为是等效的。严格地说,他们不是,但在这种情况下,你可能很可能安全地假装他们是。

+0

它有助于知道它不会有任何问题,但我仍然想要完全确定。从'UTC' - >'GMT' - >'Etc/GMT + 5'的转换是否可以做到这一点? – Seeker 2011-04-11 10:01:51

+0

@Seeker:那还是给你GMT + 5。它和“UTC” - >“Etc/GMT + 5”一样。中间步骤是多余的。 – 2011-04-11 10:37:20

+0

好的信息:) – Seeker 2011-04-11 10:58:36

2

格林尼治标准时间是旧的和破坏,UTC是新的热点。除此之外,它们相当于考虑可互换性。

+0

Ty为你的答案,但如果我真的想做出完美的转换,你知道在php中使用'我支持的时区列表 - 其他',我把链接的方式做到这一点吗? – Seeker 2011-04-11 10:08:31