Строка даты синтаксиса Ruby

Мне нужно проанализировать строку даты, указанную ниже, в формате std date.

Есть ли встроенная функция в ruby, которая будет разбирать что-то вроде

Декабрь 09, 2011 в 2011-12-09

Ответ 1

Date.parse уже упоминалось.

Я предпочитаю Date.strptime. Эти методы являются обратным strftime.

Date.parse - это (возможно, хорошая) догадка, при Date.strptime вы можете анализировать каждую дату, когда знаете какой формат вы ожидаете.

Пример:

require 'date'
puts  Date.strptime('December 09, 2011', '%B %d, %Y')

Или если у вас другой формат, где Date.parse завершается с ошибкой:

require 'date'
puts Date.strptime("28-May-10", "%d-%b-%y") #2010-05-28

Ответ 2

Сделайте, как показано ниже, Date::parse:

require 'date'
Date.parse('December 09, 2011').to_s # => "2011-12-09"