ruby-on-rails - 如何以编程方式更改 Ruby 中的 RFC3339 时区偏移量?

标签 ruby-on-rails ruby timezone-offset

我想知道如何以编程方式更改 Ruby 2.3 中 RFC3339 DateTime 的时区偏移(ActiveSupport 可用,如果有帮助的话)。

我想将 2016-06-22T00:00:00+00:00 转换为 2016-06-22T00:00:00-04:00 无需诉诸字符串替换。

编辑:根据铁皮人的要求,我将详细说明我所尝试的内容。正如上面提到的,我尝试使用 String#sub 来查找并替换原始字符串的有问题的部分。这确实有效,但我认为这是一个拼凑,并希望找到一个利用时间/日期 API 的解决方案。

最佳答案

看看DateTime#change ,你可以传入一个偏移量。

require 'active_support/core_ext/date_time'

DateTime.now.change(offset: '-0400')
#=> Wed, 22 Jun 2016 23:47:34 -0400

关于ruby-on-rails - 如何以编程方式更改 Ruby 中的 RFC3339 时区偏移量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37979099/

相关文章:

ruby-on-rails - Rails - 将对象转换为字符串时会发生什么?

html - 如何将连续节点与 Nokogiri 匹配?

c# - 为什么 Windows 10 上缺少某些时区信息?

Javascript Date.getTimezoneOffset() 在 Node-red 中不起作用

java - 无法使用@JsonFormat从UTC在AEST时区中序列化日期。为什么?

ruby-on-rails - 即使线程池中只有一个线程,也会发生并发吗?

ruby-on-rails - 使用 ruby​​ 2.5.3 在特定站点上发出获取请求时出现超时错误

iphone - 使用 FBConnect 通过 Facebook 通过 iPhone 应用程序对用户进行身份验证的 Rails 后端服务器进行身份验证

ruby-on-rails - FactoryGirl - 无法写入未知属性和未定义方法 `name'

ruby - 从 ruby​​ 脚本执行 shell 命令