Question

I have a date (Which is actually parsed from a PDF) and it could be any of the following format:

MM/DD/YYYY
MM/DD/YY
M/D/YY
October 15, 2007
Oct 15, 2007 

Is there any gem or function available in rails or ruby to parse my date? Or I need to parse it using regex?

BTW I'm using ruby on rails 3.2.

Was it helpful?

Solution

You can try Date.parse(date_string).

You might also use Date#strptime if you need a specific format:

> Date.strptime("10/15/2013", "%m/%d/%Y")
=> Tue, 15 Oct 2013

For a general solution:

format_str = "%m/%d/" + (date_str =~ /\d{4}/ ? "%Y" : "%y")
date = Date.parse(date_str) rescue Date.strptime(date_str, format_str)

OTHER TIPS

I find the chronic gem very easy to use for time parsing and it should work for you. i tried the examples you gave.

https://github.com/mojombo/chronic

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top