2012-07-08 148 views
0

我目前工作的一個Rails項目,我需要從字符串創建日期對象。Rails的日期時間日期 - >無效的日期

目前我有以下代碼:

datetime = DateTime.strptime(items[0] << 'T' << items[1], '%d.%m.%YT%H:%M:%S') 

由項目創建的串[0] < < 'T' < <項[1]是例如25.01.2012T18:25:47

但我得到以下錯誤消息「無效日期」

如果我打印字符串到rails服務器控制檯它似乎是正確的,如果我將「items [0] < <'T'< < items [1]「在strptime方法中具有有效字符串(例如, 25.01.2012T18:25:47)它的工作原理,但我不知道爲什麼,如果我使用串連字符串轉換爲DateTime對象失敗...

有誰有一個想法?

問候

+1

這應該做工精細,這是怎麼回事,你沒有向我們展示?而且你知道你正在修改'items [0]',對吧?你可能會用'item [0] +'T'+ items [1]'或'「#{items [0]} T#{items [1]}」''更好。 – 2012-07-08 18:42:08

+0

我都嘗試您的建議,但他們沒有工作:(我覺得那裏有什麼有趣的別的,我做我讀上傳CSV文件,一行行解析它,然後我分裂的內容;個性和把結果放到strptime方法 – 2012-07-08 18:46:20

+0

Naaaa我想我明白了...愚蠢的事情...... CSV文件的第一行是某種標題,並且不包含由strptime解析的任何數據),但感謝無論如何你的努力! – 2012-07-08 18:53:14

回答

0

你可以嘗試(項目[0] < < 'T' < <項目[1])。to_datetime。它將以DateTime格式給出一個對象。