DateTime解析不按预期工作

时间:2010-12-07 19:20:43

标签: ruby parsing datetime

我的Ruby代码看起来很模糊。

str = 2010-12-02_12-10-26
puts str
puts DateTime.parse(str, "%Y-%m-%d_%H-%M-%S")

我希望从解析中获得实际时间。相反,我得到这样的输出......

2010-12-02_12-10-26
2010-12-02T00:00:00+00:00

我如何获得解析时间?

2 个答案:

答案 0 :(得分:13)

这有效:

str = "2010-12-02_12-10-26"
puts str
puts DateTime.strptime(str, "%Y-%m-%d_%H-%M-%S")

此示例位于Codepad

根据documentation parse

  

通过从String解析来创建新的DateTime对象,而不指定格式。

strptime

  

通过根据指定的格式从String解析来创建新的DateTime对象。

答案 1 :(得分:1)

使用strptime而不是parse

puts DateTime.strptime(str, "%Y-%m-%d_%H-%M-%S")