以秒为单位添加DateTime偏移量

时间:2012-10-31 10:07:58

标签: ruby-on-rails ruby-on-rails-3

我有一个UTC的DateTime,并希望添加一个以秒为单位的偏移量

#json parsed - utc offset in seconds - turned into integer
@utc_offset = result["UTCOffsetMillis"].to_i
#json parsed - utc date
start_date_string = result["startDate"].split("-")
start_date = DateTime.new(start_date_string[0].to_i, start_date_string[1].to_i,start_date_string[2].to_i)

如何将此偏移量以秒为单位添加到start_date ??

Rails 3.2.3 Ruby 1.9.2p320

1 个答案:

答案 0 :(得分:6)

要以DateTime为单位向DateTime.new(2012, 10, 31) + 5.seconds #=> Wed, 31 Oct 2012 00:00:05 +0000 添加偏移量,您可以使用:

Time

要更改时区,我会使用DateTime代替Time.new(2012, 10, 31, 0, 0, 0, 3600).localtime #=> 2014-10-31 00:00:00 +0100

3600

{{1}}是UTC的偏移量,以秒为单位。