Сделать Date # parse принять формат США вместо формата ЕС - PullRequest
19 голосов
/ 21 сентября 2010

При 1.9.2p0 анализ даты # принимает формат UE. Проверьте format.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

но не повезло. Есть еще идеи?

Ответы [ 2 ]

28 голосов
/ 21 сентября 2010

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

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 голосов
/ 21 сентября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...