如何以编程方式更改 Ruby 中的 RFC3339 时区偏移量?
How can I programmatically change an RFC3339 timezone offset in Ruby?
我想知道如何以编程方式更改 Ruby 2.3 中的 RFC3339 DateTime 的时区偏移量(ActiveSupport 可用,如果有帮助的话)。
我想将:2016-06-22T00:00:00+00:00
转换为 2016-06-22T00:00:00-04:00
,而不求助于字符串替换。
编辑:根据铁皮人的要求,我将详细说明我的尝试。如上所述,我尝试使用 String#sub
来查找并替换原始字符串中有问题的部分。这行得通,但我认为这是一个问题,我想找到一个利用 Time/Date API.
的解决方案
看看DateTime#change
,你可以传入一个偏移量。
require 'active_support/core_ext/date_time'
DateTime.now.change(offset: '-0400')
#=> Wed, 22 Jun 2016 23:47:34 -0400
我想知道如何以编程方式更改 Ruby 2.3 中的 RFC3339 DateTime 的时区偏移量(ActiveSupport 可用,如果有帮助的话)。
我想将:2016-06-22T00:00:00+00:00
转换为 2016-06-22T00:00:00-04:00
,而不求助于字符串替换。
编辑:根据铁皮人的要求,我将详细说明我的尝试。如上所述,我尝试使用 String#sub
来查找并替换原始字符串中有问题的部分。这行得通,但我认为这是一个问题,我想找到一个利用 Time/Date API.
看看DateTime#change
,你可以传入一个偏移量。
require 'active_support/core_ext/date_time'
DateTime.now.change(offset: '-0400')
#=> Wed, 22 Jun 2016 23:47:34 -0400