davyb [mailto:david.a.boyd / gmail.com] 

#I have an ordinal date string and I want to change it to an ordinary
#date string.  For example: 2005/1 should give January 1, 2005.  I see
#ordinal in the Date class but I need a simple example.  Thanks,

i hope this is simple enough.

# we want to get the year and day values fr your string

> re =  /(\d+)\/(\d+)/		=> /(\d+)\/(\d+)/
> rs = "2005/1"			=> "2005/1"

> y,d=re.match(rs)[1..2]	=> ["2005", "1"]

# we need to convert them to integers since ordinal wants num

> y = y.to_i			=> 2005
> d = d.to_i			=> 1

> od = Date.ordinal(y,d)	=> #<Date: 4906743/2,0,2299161>

# we got a date object
# fr here we can do anything

> od.year				=> 2005
> od.month				=> 1
> od.day				=> 1
> nd_str1 = od.to_s				=> "2005-01-01"
> nd_str2 = od.strftime("%B %e, %Y")	=> "January  1, 2005"
> nd_str3 = nd_str2.squeeze(" ")		=> "January 1, 2005"

hth.

kind regards
-botp

#Dave