2012-07-08 76 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格式给出一个对象。