我试图将twitter发布日期转换为datetime对象,但由于某种原因它们没有正确转换.如果我这样做:
d = '12:06 AM Oct 15th'
Run Code Online (Sandbox Code Playgroud)
和
d = DateTime.parse(d)
Run Code Online (Sandbox Code Playgroud)
要么
Tweet.new :body => "test", :created_at => d
Run Code Online (Sandbox Code Playgroud)
然后日期结束于11月15日星期日00:06:00-0500 2009.所有日期都在转换并包含11月.我完全错过了什么吗?
DateTime.parse期望传入的字符串是标准格式.由于您的字符串不是这种情况,因此您必须使用DateTime.strptime并传递日期/时间的字符串表示以及相应的格式字符串.在你的情况下,这样的东西应该工作:
d = DateTime.strptime '12:06 AM Oct 15th', '%H:%M %p %b %d'
d.to_s # => "2009-10-15T00:06:00+00:00"
Run Code Online (Sandbox Code Playgroud)
您可以查看文档以了解每个格式化方向的含义.
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |