我想将一个时区从一个时区转换为另一个时区。
示例:
我有第一次的图像,如
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
那么有没有办法以更好的方式完成同样的事情?
答案 0 :(得分: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