我試圖使用db/seed.rb文件和rake db:seed命令將一些數據種入我正在開發的Rails 3應用程序。Rails:播種數據庫數據和日期格式
我要播種的數據涉及一個名爲Meeting的數據庫表,它有三列:字符串標題,日期時間startDate,日期時間endDate。我試圖插入的日期格式是「mm/dd/yyyy hh:mm」格式 - 例如。 「01/02/2003 13:23」= 2003年1月2日下午1點23分。但是,DateTime.parse()始終以「無效日期」錯誤出錯 - 因爲它試圖以「dd/mm/yyyy」格式解析日期。
從我的谷歌搜索中,我已經相信,當解析DateTime對象時,編譯器會查看傳入的字符串並執行一些草率的模式匹配,然後映射「mm/dd/yyyy」和「dd-mm -yyyy「,根據美國/英國(等)標準是基於是否使用斜線或破折號作爲分隔符。這似乎並不是這樣,然而,我想知道爲什麼。以及如何解決它。
這就是我如何播種會議 - 第一個解析正確,第二個失敗。
Meeting.create([
{
:title => "This meeting parses fine",
:startDate => DateTime.parse("09/01/2009 17:00"),
:endDate => DateTime.parse("09/01/2009 19:00")
},
{
:title => "This meeting errors out",
:startDate => DateTime.parse("09/14/2009 8:00")
:endDate => DateTime.parse("09/14/2009 9:00")
}])
嘗試將零加到小時': startDate => DateTime.parse(「09/14/2009 08:00」)' – fl00r 2011-03-29 14:38:21
@ fl00r沒有沒有工作;我爲「09/01/2009 08:00」添加了一個種子,並且工作正常。這是困難的日期。 – 2011-03-29 14:46:52
試着把你的日期放在一個更明顯的解析器格式中:'2009-09-01 8:00' – 2011-03-31 04:09:41