在 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.parse(time) {|y| 0 <= y && y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}
答案 0 :(得分:2)
Ruby 1.9.2给你的是公元111年2月1日的日期(因为这就是这个日期)。
http://www.wolframalpha.com/input/?i=February+1st+111AD%3F。 1.8.7,我认为,很久以前无法处理日期。
Ruby 1.9.2正在做正确的事。
如果您的输入是以这种方式编写的,但它确实应该代表2011年,那么: