我的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
我如何获得解析时间?
答案 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")