不同格式的Ruby Datetime分析错误
我想将字符串转换为不同格式的DateTime对象“13:54 25/02/2016”,有什么方法可以做到这一点吗 我尝试过不同的方法,但都会出错。我使用的是ruby版本“2.1.2” 例如:不同格式的Ruby Datetime分析错误,ruby,date,parsing,datetime,Ruby,Date,Parsing,Datetime,我想将字符串转换为不同格式的DateTime对象“13:54 25/02/2016”,有什么方法可以做到这一点吗 我尝试过不同的方法,但都会出错。我使用的是ruby版本“2.1.2” 例如: DateTime.parse("13:54 25/02/2016") # ArgumentError: invalid date DateTime.strptime("13:54 25/02/2016") ArgumentError: invalid date DateTime.parse(“13:54
DateTime.parse("13:54 25/02/2016") # ArgumentError: invalid date
DateTime.strptime("13:54 25/02/2016") ArgumentError: invalid date
DateTime.parse(“13:54 25/02/2016”)
正在返回
Thu,2016年2月25日13:54:00+0000在my rails控制台中。不确定为什么会出现参数错误
如果您想使用strtime,您需要执行DateTime.strtime(“13:54 25/02/2016,'%H:%M%d/%M/%Y”)
=>2016年2月25日星期四13:54:00+0000
DateTime.parse(“13:54 25/02/2016”)
正在返回
Thu,2016年2月25日13:54:00+0000在my rails控制台中。不确定为什么会出现参数错误
如果您想使用strtime,您需要执行DateTime.strtime(“13:54 25/02/2016,'%H:%M%d/%M/%Y')
#=>2016年2月25日星期四13:54:00+0000
我想您可能需要指定格式,但默认情况下它也可以工作(我尝试了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)>
2.2.2:016>DateTime.parse(“13:54 25/02/2016”,%H:%M%d/%M/%Y”)
=> #
是否确实使用了正确的日期:要求日期
?可能是DateTime
类被打开并更改了?我想您可能需要指定格式,但默认情况下它也可以工作(我尝试了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)>
2.2.2:016>DateTime.parse(“13:54 25/02/2016”,%H:%M%d/%M/%Y”)
=> #
是否确实使用了正确的日期:要求日期
?可能已打开并更改了DateTime
类?strtime
需要您提供日期字符串的格式:
strptime([string='-4712-01-01T00:00:00+00:00'[, format='%FT%T%z'[ ,start=ITALY]]])
即使您知道以默认格式提供字符串,也最好将其显式显示。strtime
需要您提供日期字符串的格式:
strptime([string='-4712-01-01T00:00:00+00:00'[, format='%FT%T%z'[ ,start=ITALY]]])
即使您知道以默认格式提供字符串,也最好将其显式显示。DateTime.parse(“13:54 25/02/2016”)#ArgumentError:invalid date仍然有错误。DateTime.strTime(“13:54 25/02/2016,'%H:%M%d/%M/%Y')这提供了正确的DateTime对象。@Madhusudhan尝试更新您的rails版本,我使用的是2.2.3,它工作正常。很高兴我的回答有帮助:)DateTime.parse(“13:54 25/02/2016”)#ArgumentError:无效的日期仍然是我的错误。DateTime.strTime(“13:54 25/02/2016,'%H:%M%d/%M/%Y')这提供了正确的DateTime对象。@Madhusudhan尝试更新您的rails版本,我使用的是2.2.3,它工作正常。很高兴我的答案有帮助:)DateTime.parse(“13:54 25/02/2016”,%H:%M%d/%M/%Y”)#ArgumentError:strptime日期格式的无效日期是强制性的,对于parse,它也是强制性的吗?您能在执行要求日期之前检查Kernel.const\u defined吗?(“DateTime”)
是否返回false
?不知何故,我感觉您正在使用非预期版本的DateTime
。它正在返回trueDateTime.parse(“13:54 25/02/2016,“%H:%M%d/%M/%Y”)#ArgumentError:strptime日期格式的无效日期是强制性的,对于parse,它也是强制性的吗?您能否检查Kernel.const是否已定义?(“DateTime”)
在您执行要求日期之前返回false
?不知何故,我感觉您正在使用非预期版本的DateTime
。它正在返回真值