使用Ruby 1.9.2的日期无效

时间:2011-09-17 11:00:36

标签: ruby datetime invalidation

为什么'时间'作为无效日期返回?

val = "9/22/2011 4:23 AM"
time = DateTime.parse(val).strftime("%Y-%m-%d %H:%M:%S").to_datetime
#at breakpoint: time = 2011-09-22T04:23:00+00:00 as a DateTime Object

@form_entry.storage_datetime = time # crashes here with invalid date

如果有帮助,我使用的是gem mysql 2.8.1和Ruby 1.9.2。感谢

1 个答案:

答案 0 :(得分:4)

我在第二行得到ArgumentError;无法在第一时间创建DateTime对象。

请尝试使用strptime

val = "9/22/2011 4:23 AM"
DateTime.strptime(val, "%m/%d/%Y %H:%M %p")
=> #<DateTime: 2011-09-22T04:23:00+00:00 (3536390423/1440,0/1,2299161)>