[英]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.