在Ruby/Rails中,如何将UTC DateTime转换为另一个时区?
发布于 2010-04-23 10:42:48
time.in_time_zone(time_zone)
示例:
zone = ActiveSupport::TimeZone.new("Central Time (US & Canada)")
Time.now.in_time_zone(zone)
或者只是
Time.now.in_time_zone("Central Time (US & Canada)")
您可以通过执行以下操作查找ActiveSupport时区的名称:
ActiveSupport::TimeZone.all.map(&:name)
# or for just US
ActiveSupport::TimeZone.us_zones.map(&:name)
发布于 2014-09-02 19:06:31
如果Time.zone
是您想要的时区,那么您可以使用@date.to_time.to_datetime
> @date
=> Tue, 02 Sep 2014 23:59:59 +0000
> @date.class
=> DateTime
> @date.to_time
=> 2014-09-02 12:59:59 -1100
> @date.to_time.to_datetime
=> Tue, 02 Sep 2014 12:59:59 -1100
发布于 2018-09-22 05:42:31
在纯拼音中,仅使用require 'date'
,请使用new_offset
方法:
require 'date'
d=DateTime.parse('2000-01-01 12:00 +0200')
l=d.new_offset('-0700')
u=l.new_offset('UTC')
puts "#{u.strftime('%a %F %T %Z')} ❖ #{l.strftime('%a %F %T %Z')}"
使用Mac OS X 10.13上的标准ruby 2.3.7进行了测试。
https://stackoverflow.com/questions/2695837
复制相似问题