Ruby将看起来像utc格式的字符串转换为日期

时间:2016-03-04 14:55:31

标签: ruby datetime

我有一个格式为“2016-03-02T17:27:32.000 + 00:00”的字符串,我需要将其转换为Time对象。在ruby中有一个简单的方法可以做到这一点,还是我需要先解析字符串?

当我尝试

Time.new("2016-03-02T17:27:32.000+00:00")

我得到了

2016-01-01 00:00:00 +0000

2 个答案:

答案 0 :(得分:4)

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

require 'time'

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

答案 1 :(得分:2)

使用Time.parse从字符串中创建Time对象:

由于WHERE (Id = '101' OR Id IS NULL) AND (name = 'Kumar' OR name IS NULL) AND (age = '21' OR age IS NULL) 是在标准库中定义的,而不是.parse库,因此您需要使用core标准库:

require 'time'