From: Rob Redmon Date: 2008-04-05T00:20:17+09:00 Subject: Re: Convert day of year to month, day James Gray wrote: > On Apr 4, 2008, at 9:38 AM, Rob Redmon wrote: > >> What's the "ruby way" to go from a date/time format that is "Year >> Day_of_Year time" to "Year Month Day". E.g. I want to convert >> year=2008, day_of_year=095, frequently represented as "2008-095" to >> it's >> more usual format "2008-04-04". I've been playing with the Time class >> and it's methods and found nifty ways to get yday, e.g. >> Time.now.utc.yday, but how do I easily go backwards w/o writing my own >> simple converter? > > How's this? > > >> require "date" > => true > >> Date.strptime("2008-095", "%Y-%j").to_s > => "2008-04-04" > > James Edward Gray II Good idea, but doesn't work for me: irb(main):065:0> Date.strptime("2008-095", "%Y-%J").to_s ArgumentError: invalid date from /usr/lib/ruby/1.8/date.rb:650:in `new_with_hash' from /usr/lib/ruby/1.8/date.rb:675:in `strptime' from (irb):65 from :0 Maybe my version of Ruby (1.8.1) is too old. The computer in question is managed by the network pirates and unlikely to be upgraded. This is a noob thought, but is there a way for me to locally upgrade the Date class, ala a Ruby Gem? R -- Posted via http://www.ruby-forum.com/.