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

时间:2016-06-22 22:10:43

标签: 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而不使用字符串替换。

编辑:根据Tin Man的要求,我会详细说明我尝试过的内容。如上所述,我尝试使用String#sub来查找和替换原始字符串的违规部分。这有效,但我认为它是一个kludge,并希望找到一个使用时间/日期API的解决方案。

1 个答案:

答案 0 :(得分:3)

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

require 'active_support/core_ext/date_time'

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