J'ai une date (qui est en fait analysée à partir d'un PDF) et elle pourrait être l'un des formats suivants:
MM/DD/YYYY
MM/DD/YY
M/D/YY
October 15, 2007
Oct 15, 2007
Existe-t-il une gemme ou une fonction disponible dans Rails ou Ruby pour analyser ma date? Ou dois-je l'analyser en utilisant l'expression régulière?)
BTW J'utilise Ruby on Rails 3.2.
Vous pouvez essayer Date.parse(date_string)
.
Vous pouvez également utiliser Date#strptime
si vous avez besoin d'un format spécifique:
> Date.strptime("10/15/2013", "%m/%d/%Y")
=> Tue, 15 Oct 2013
Pour une solution générale:
format_str = "%m/%d/" + (date_str =~ /\d{4}/ ? "%Y" : "%y")
date = Date.parse(date_str) rescue Date.strptime(date_str, format_str)
Je trouve la gemme chronique très facile à utiliser pour l'analyse du temps et elle devrait fonctionner pour vous. j'ai essayé les exemples que vous avez donnés.