Why does the year get changed in this code? require 'date' s = '2998-12-31' date = Date.parse(s) f = date.strftime('%d-%b-%G') puts f The output is 31-Dec-2999. This doesn't seem to happen with earlier years. This happens with Ruby 1.8.6 and JRuby 1.2.0RC2.
on 2009-04-10 19:03
on 2009-04-10 19:35
Mark V. <firstname.lastname@example.org> wrote: > Why does the year get changed in this code? > > require 'date' > s = '2998-12-31' > date = Date.parse(s) > f = date.strftime('%d-%b-%G') It's because you asked for %G. If you wanted the actual year component of the date, you would have used %Y. man strftime... m.