午夜UTC的Ruby Time对象

时间:2017-03-30 17:28:23

标签: ruby-on-rails ruby datetime time utc

我需要能够在Rails中创建UTC时间对象,但无论我尝试什么,它最终都是本地时间对象转换到UTC。

application.rb中

config.time_zone = "UTC"

实施例
我尝试在2017年新年午夜创建一个Time对象:

Time.new(year, month, 1, 0, 0, 0)

=> 2017-03-01 00:00:00 -0500

Time.new(year, month, 1, 0, 0, 0).in_time_zone

=> 2017年3月1日星期三05:00:00 UTC +00:00

Time.new(year, month, 1, 0, 0, 0).in_time_zone('UTC')

=> 2017年3月1日星期三05:00:00 UTC +00:00

2 个答案:

答案 0 :(得分:3)

你应该可以使用:

Time.utc(year, month, 1, 0, 0, 0)

或只是

Time.utc(year, month, 1)

答案 1 :(得分:2)

我认为以下可能会做你想要的:

Time.new(year, month, 1, 0, 0, 0, "+00:00")

请参阅the documentation for more details.