在Ruby 1.87中,我可以这样做:
Date.parse ("3/21/2011")现在在1.9.2中,我得到了:
ArgumentError:日期无效
有什么想法吗?
发布于 2011-03-21 08:01:45
使用strptime并给出具体的时间格式。
ruby-1.9.2-p136 :022 > Date.strptime '03/21/2011', '%m/%d/%Y'
=> #<Date: 2011-03-21 (4911283/2,0,2299161)>有关Ruby版本之间差异的原因,请参阅's response。
发布于 2011-03-21 10:10:32
根据this bug report,在1.9中有意删除了解析mm/dd/yy日期的功能。Ruby的创建者松本幸博说:
"dd/dd/dd“格式本身就非常依赖于文化并且模棱两可。在日本(和其他国家)是yy/mm/dd,在美国是mm/dd/yy,在欧洲国家是dd/mm/yy,对吗?在某些情况下,你可以偶然地告诉他们,但在一般情况下,我们不应该依靠运气。我相信这就是1.9中禁用解析这种格式的原因。
正如hansengel所建议的,您可以改用Date.strptime。
发布于 2011-03-21 10:08:15
我一直在使用Date.parse解析日期时遇到困难。我的解决方案对chronic gem来说是不必要的。我也喜欢在另一个答案中找到的strptime函数。
https://stackoverflow.com/questions/5372464
复制相似问题