我想接受没有连字符的日期params
,例如20110929
。在Rails / Ruby中,如何将其转换为DateTime
对象?我是否需要手动编辑字符串,添加适当的连字符,还是有一些我不知道的魔法?
谢谢你们!
修改
回答了我自己的问题,但遗憾的是我还不能接受(声望很低):
DateTime.parse('20110929')
编辑2:
如下所述,我上面的“回答”可能不是最好的。见下面接受的答案。
答案 0 :(得分:1)
在Ruby 1.9.2中,您可以使用#strptime
。在某些情况下,如果要解析的日期格式很常见,#parse
也应该有用。
require 'date'
require 'time'
DateTime.strptime("20110929", "%Y%m%d")
# => #<DateTime: 2011-09-29T00:00:00+00:00 (4911667/2,0/1,2299161)>
答案 1 :(得分:1)
您可能想要使用Date.strptime(params[:the_date], '%y%m%d')
。请参阅apidock。