2016-03-04 34 views
0

我有一个格式为“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 

回答

2

使用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 
+1

我试过了 - 我得到了一个未定义的方法'解析”的时间:类。我使用的是Ruby 2.1.7 – margo

+0

谢谢安东尼! – margo

4

您的时间格式为ISO 8601。解析它,你可以使用Time::iso8601

require 'time' 

Time.iso8601('2016-03-02T17:27:32.000+00:00') 
#=> 2016-03-02 17:27:32 UTC 
相关问题