我有一个像这样的字符串:
"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
EDIT
(一边磨牙一边思考 Ruby/Rails 日期/时间处理的噩梦)
好的,这个怎么样:
Time.zone.parse("2010-01-01 12:30:00").utc
注意Time.zone.parse
返回一个DateTime
,同时附加.utc
给你一个Time
。存在差异,所以要小心。
另外,Time.zone 是 Rails (ActiveSupport) 的一部分,而不是 Ruby。只是让你知道。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)