Ruby Datetime解析错误的格式不同

时间:2016-02-25 23:10:33

标签: ruby date parsing datetime

我想将字符串转换为DateTime对象,格式不同“13:54 25/02/2016”,有没有办法做到这一点?

我尝试了不同的方法,但却出错了。我正在使用ruby版本'2.1.2'

示例:

http://localhost/

3 个答案:

答案 0 :(得分:0)

DateTime.parse("13:54 25/02/2016")正在回归 在我的rails控制台中Thu, 25 Feb 2016 13:54:00 +0000。不确定为什么你有一个参数错误。

如果你想使用strptime,你需要DateTime.strptime("13:54 25/02/2016", '%H:%M %d/%m/%Y') #=> Thu, 25 Feb 2016 13:54:00 +0000

答案 1 :(得分:0)

我认为您可能需要指定格式,但它应该默认工作(我尝试使用2.2.2)。例如:

2.2.2 :016 > DateTime.parse("13:54 25/02/2016", "%H:%M %d/%m/%Y")
 => #<DateTime: 2016-02-25T13:54:00+00:00 ((2457444j,50040s,0n),+0s,2299161j)> 

您确定使用的是正确的日期:require date吗?也许DateTime类是打开并更改的?

答案 2 :(得分:0)

strptime需要您提供日期字符串的格式:

strptime([string='-4712-01-01T00:00:00+00:00'[, format='%FT%T%z'[ ,start=ITALY]]])

即使您知道以默认格式提供字符串,最好将其显式化。