Ruby parse date string

user1810502 picture user1810502 · Jan 27, 2014 · Viewed 27.5k times · Source

I need to parse a date string mentioned below to std date format.

Is there a built in function in ruby that would parse something like,

December 09, 2011 to 2011-12-09

Answer

knut picture knut · Jan 27, 2014

Date.parse is already mentioned.

I prefer Date.strptime. This methods is a reverse strftime.

Date.parse is a (maybe good) guess, with Date.strptime you can parse each date, when you know which format you expect.

Example:

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

Or if you have another format where Date.parse fails:

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