2011-09-17 63 views
1

爲什麼'時間'作爲無效日期被返回?使用Ruby 1.9.2的無效日期

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。謝謝

回答

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)> 
+0

完美地工作! – iamtoc