我想将一个时间从一个时区转换到另一个时区。
示例:
我第一次看到的图像,比如
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
那么,有没有一种方法可以更好地完成同样的事情呢?
您尝试过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