So I have a model instance that has a datetime attribute. I am displaying it in my view using:
<%= @instance.date.to_date %>
but it shows up as: 2011-09-09
I want it to show up as: September 9th, 2011
How do I do this?
Thanks!
So I have a model instance that has a datetime attribute. I am displaying it in my view using:
<%= @instance.date.to_date %>
but it shows up as: 2011-09-09
I want it to show up as: September 9th, 2011
How do I do this?
Thanks!
There is an easier built-in method to achieve the date styling you are looking for.
<%= @instance.datetime.to_date.to_formatted_s :long_ordinal %>
The to_formatted_s method accepts a variety of format attribute options by default. For eaxmple, from the Rails API:
date.to_formatted_s(:db) # => "2007-11-10"
date.to_s(:db) # => "2007-11-10"
date.to_formatted_s(:short) # => "10 Nov"
date.to_formatted_s(:long) # => "November 10, 2007"
date.to_formatted_s(:long_ordinal) # => "November 10th, 2007"
date.to_formatted_s(:rfc822) # => "10 Nov 2007"
You can see a full explanation here.