Подтвердить что ты не робот

Сделать Date # parse принять формат США вместо формата ЕС

С 1.9.2p0, Date # parse предполагает формат UE. Проверьте формат .rb, строка: 1042, если вы мне не верите.

В любом случае, как я могу заставить его принять формат США, чтобы:

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

Вместо 10 апреля.

Я пробовал это:

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

но не повезло. Любые другие идеи?

4b9b3361

Ответ 1

Date.strptime - это то, что вы хотите, но, к сожалению, не похоже, что в документации есть строки форматирования даты. Я получил следующее для работы на основе Googling для строк формата:

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

Ответ 2

Вместо этого вы можете проверить strptime.