在Ruby/Rails中,如何将UTC日期时间转换为另一个时区?

推荐答案

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 f或者只是 US
ActiveSupport::TimeZone.us_zones.map(&:name)

Ruby-on-rails相关问答推荐

Rails:嵌套命名空间产生一个奇怪的部分路径,导致MissingTemplate错误

`heroku Open`和`heroku run rake db:Migrate`不工作(";没有这样的文件或目录";)

多对多模型通过控制台创建记录不起作用

Ruby Hash 中 tap / delete 和 except 的区别

刺激不添加侦听器以搜索表单输入

Rails 模型 - 以 ID 作为自定义列的自定义主键

错误 NoMethodError:ActionView::Base:Class 的未定义方法 `debug_rjs='

在 Ruby on Rails html.erb 文件中循环

如何使用 Rails 3 / Rack 在没有 www 的情况下重定向?

在允许用户使用设计(rails)登录之前判断用户是否处于活动状态

耙路由错误缺少:路由定义上的操作键

Rails 4 Form: has_many through: checkboxes

为什么在保存对象后使用重新加载方法? (Hartl Rails Tut 6.30)

Rails 文章助手 - a 或 an

验证一个对象是否有一个或多个关联对象

在 Rails 应用程序中处理大文件上传的最佳方法是什么?

Postgresql JSON 数据列不同

Rails 路由:GET 没有参数 :id

测试和规格有什么区别?

如何创建一个 ruby​​ Hello 世界?