Formating date information

Very new to this so can anyone tell me how to change the date format
from 20100901 to something like 01-09-2010 ?
I have a number of dates like => [["20100824"], ["20100825"],
["20100826"]],

Date.parse("20100824").strftime("%d %b %Y") # thanks Robert
=> "24 Aug 2010"

but how do I parse each date in turn and get a new array with the
standard date format ???

I have looked in a lot of places but can't find the answer.
Thanks for any help...

···

--
Posted via http://www.ruby-forum.com/.

but how do I parse each date in turn and get a new array with the

standard date format ???

What you want is Array#map:

ruby-1.9.2-p0 :007 > a.map {|e| Date.parse(e.first).strftime("%d %b %Y") }
=> ["24 Aug 2010", "25 Aug 2010", "26 Aug 2010"]

(I'm not sure why each of your dates is in a single array, but that's why
you need that 'first'.)

Very new to this so can anyone tell me how to change the date format
from 20100901 to something like 01-09-2010 ?
I have a number of dates like => [["20100824"], ["20100825"],
["20100826"]],

Your Array should really contain Date instances and not String instances. Usually parsing is done when the data is read from some external source (command line, file, prompt) so you can continue to work with proper methods of the particular type.

  Date.parse("20100824").strftime("%d %b %Y") # thanks Robert
=> "24 Aug 2010"

but how do I parse each date in turn and get a new array with the
standard date format ???

Not sure what you mean. Is it this?

irb(main):003:0> Date.strptime("24 Aug 2010", "%d %b %Y")
=> #<Date: 2010-08-24 (4910865/2,0,2299161)>
irb(main):004:0> Date.strptime("24 Aug 2010", "%d %b %Y").to_s
=> "2010-08-24"

Kind regards

  robert

···

On 08.03.2011 22:45, rob stanton wrote:

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

Thanks Steve that worked very well, just what I needed!

···

--
Posted via http://www.ruby-forum.com/.