Разбор даты в рельсах
У меня есть дата (которая фактически анализируется из PDF), и это может быть любой из следующих форматов:
MM/DD/YYYY
MM/DD/YY
M/D/YY
October 15, 2007
Oct 15, 2007
Есть ли какой-либо драгоценный камень или функция, доступные в рельсах или рубине для анализа моей даты? Или мне нужно разобрать его с помощью регулярного выражения?
BTW Я использую ruby on rails 3.2.
Ответы
Ответ 1
Вы можете попробовать Date.parse(date_string)
.
Вы также можете использовать Date#strptime
если вам нужен конкретный формат:
> Date.strptime("10/15/2013", "%m/%d/%Y")
=> Tue, 15 Oct 2013
Для общего решения:
format_str = "%m/%d/" + (date_str =~ /\d{4}/ ? "%Y" : "%y")
date = Date.parse(date_str) rescue Date.strptime(date_str, format_str)
Ответ 2
Я считаю, что хронический жемчуг очень прост в использовании для разбора времени, и он должен работать для вас. Я попробовал примеры, которые вы дали.
https://github.com/mojombo/chronic