簡體   English   中英

在Rails中將DateTime字符串轉換為UTC

[英]Convert DateTime String to UTC in rails

我有一個像這樣的字符串:

"2010-01-01 12:30:00"

我需要將其從當前本地時區轉換為UTC。

我試過了,但是似乎認為該字符串已經是UTC。

"2010-01-01 12:30:00".to_datetime.in_time_zone("Central Time (US & Canada)")
=> Fri, 01 Jan 2010 06:30:00 CST -06:00

我不確定從這里要去哪里。

從我的評論中添加了此內容:

>> Time.zone = "Pacific Time (US & Canada)"
=> "Pacific Time (US & Canada)"
>> Time.parse("2010-10-27 00:00:00").getutc
=> Wed Oct 27 06:00:00 UTC 2010
>> Time.zone = "Mountain Time (US & Canada)"
=> "Mountain Time (US & Canada)"
>> Time.parse("2010-10-27 00:00:00").getutc
=> Wed Oct 27 06:00:00 UTC 2010

謝謝你的幫助。

Time.parse("2010-01-01 12:30:00").getutc

編輯

(在思考噩夢時磨牙,這是Ruby / Rails日期/時間處理)

好吧,這呢:

Time.zone.parse("2010-01-01 12:30:00").utc

請注意, Time.zone.parse返回一個DateTime ,而附加.utc會給您一個Time 有差異,所以要當心。

另外,Time.zone是Rails(ActiveSupport)的一部分,而不是Ruby。 請注意。

Rails 4及更高版本中,您可以直接使用in_time_zone

"2010-01-01 12:30:00".in_time_zone
#=> Fri, 01 Jan 2010 12:30:00 EST -05:00

"2010-01-01 12:30:00".in_time_zone.utc
#=> 2010-01-01 17:30:00 UTC

對於API,您可以使用:

utc_date = Time.parse("2013-05-31 00:00").utc.iso8601 #=> Result will be: 2013-05-30T21:00:00Z

您可以查看以下文章:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM