Ruby将一个看起来像utc格式的字符串转换为日期
问题描述:
我有一个格式为“2016-03-02T17:27:32.000 + 00:00”的字符串,我需要将它转换为Time对象。有没有一种简单的方法来做到这一点,或者我需要首先解析字符串?Ruby将一个看起来像utc格式的字符串转换为日期
当我尝试
Time.new("2016-03-02T17:27:32.000+00:00")
我得到
2016-01-01 00:00:00 +0000
答
使用Time.parse,使Time对象进行字符串:
由于.parse
在标准库中定义,而不是core
库您需要使用标准库require 'time'
:
require 'time'
Time.parse("2016-03-02T17:27:32.000+00:00")
=> 2016-03-02 17:27:32 +0000
答
您的时间格式为ISO 8601。解析它,你可以使用Time::iso8601
:
require 'time'
Time.iso8601('2016-03-02T17:27:32.000+00:00')
#=> 2016-03-02 17:27:32 UTC
我试过了 - 我得到了一个未定义的方法'解析”的时间:类。我使用的是Ruby 2.1.7 – margo
谢谢安东尼! – margo