0

我想将时间从一个时区转换为另一个。

例子:

我第一次拥有的图像,比如

t=....
puts t
 => Sun Aug 12 00:00:00 +0200 2012

我想要完全相同的时间,但在不同的时区。我可以做这个:

mytimezone.local(t.year,t.month,t.day,t.hour,t.min)
=> Sun, 12 Aug 2012 00:00:00 BRT -03:00

那么有没有办法以更好的方式完成同样的事情呢?

4

1 回答 1

0

你试过in_time_zone方法吗?

 > t = Time.parse("Sun Aug 12 00:00:00 +0200 2012")
 => 2012-08-12 02:00:00 +0400
 > t.in_time_zone('Eastern Time (US & Canada)')
 => Sat, 11 Aug 2012 18:00:00 EDT -04:00 
 > mytimezone = ActiveSupport::TimeZone.new('Eastern Time (US & Canada)')
 => (GMT-05:00) Eastern Time (US & Canada)
 > t.in_time_zone(mytimezone)
 => Sat, 11 Aug 2012 18:00:00 EDT -04:00
于 2012-08-21T14:47:03.440 回答