Parsing dates to a Rails friendly format Parsing dates to a Rails friendly format ruby ruby

Parsing dates to a Rails friendly format


Use

d = Date.strptime("03/17/81", "%m/%d/%y")

To get it out in 1981-03-17 use:

d.to_s

See Date Rubydoc.


The proper way to do this, if you are going to reuse the format in multiple places is to do something like this: http://seanbehan.com/ruby-on-rails/custom-date-formats-for-your-rails-application/

Create a file config/initializers/date_formats.rb

...containing this:

ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS.merge!(  :short_date => "%Y/%m/%d")

Then you should see:

ruby-1.8.7-p174 > date = "03/17/81".to_dateruby-1.8.7-p174 > date.to_s(:short_date)#=> "1981/03/17"


Try Chronic (gem install chronic):

require 'rubygems'require 'chronic'puts Chronic.parse "03/17/81"#=> Tue Mar 17 12:00:00 -0800 1981

Returns a Time object.