Ruby 1.9.2中的解析时间与Ruby 1.8.7中的不同



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}
Ruby 1.9.2给出的日期是公元111年2月1日(因为这就是这个日期(。

http://www.wolframalpha.com/input/?i=February+1st+111AD%3F。1.8.7,我想,很久以前就无法处理Dates了。

Ruby 1.9.2正在做正确的事情。

如果你的输入是这样写的,但它确实应该代表2011年,那么:

  1. 输入的格式不正确,因为它表示公元111AD年
  2. 您必须对输入字符串进行预处理,使其成为正确的解析格式

相关内容

  • 没有找到相关文章

最新更新