Make Date#parse采用美国格式而不是EU格式

时间:2010-09-21 02:12:54

标签: ruby date

对于1.9.2p0,Date#parse采用UE格式。如果你不相信我,请查看format.rb,line:1042。

无论如何,如何让它采用美国格式,以便:

> Date.parse("10/4/2010")
 => Mon, 04 Oct 2010

而不是4月10日。

我试过这个:

class Date
  def _parse_eu(str,e)
    _parse_us(str,e)
  end
end

但没有运气。还有其他想法吗?

2 个答案:

答案 0 :(得分:27)

Date.strptime是你想要的,但不幸的是它看起来不像文档有日期格式化字符串。我得到以下工作基于谷歌搜索格式字符串:

1.9.2 > d = Date.strptime("10/4/2010", "%m/%d/%Y")
=> #<Date: 2010-10-04 (4910947/2,0,2299161)> 
1.9.2 > d.day
=> 4 
1.9.2 > d = Date.strptime("10/4/2010", "%d/%m/%Y")
=> #<Date: 2010-04-10 (4910593/2,0,2299161)> 
1.9.2 > d.day
=> 10

答案 1 :(得分:2)

您可能想要查看strptime