Ruby 1.9.2给出的日期是公元111年2月1日(因为这就是这个日期(。
在ruby 1.8.7
中解析
time_str = "Sun Feb 01 0111 00:00:00 GMT+0530 (IST)"<br />
Time.parse(time_str)<br />
output
Tue Feb 01 00:00:00 +0530 2011
ruby 1.9.2
time_str = "Sun Feb 01 0111 00:00:00 GMT+0530 (IST)"<br />
Time.parse(time_str)<br />
output <br />
0111-02-01 00:00:00 +0553
你能告诉我到底是什么问题吗
这是否与ruby 1.9.2中Time的解析方式有关,如下所示
Time.parse(time) {|y| 0 <= y && y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}
http://www.wolframalpha.com/input/?i=February+1st+111AD%3F。1.8.7,我想,很久以前就无法处理Dates了。
Ruby 1.9.2正在做正确的事情。
如果你的输入是这样写的,但它确实应该代表2011年,那么:
- 输入的格式不正确,因为它表示公元111AD年
- 您必须对输入字符串进行预处理,使其成为正确的解析格式