On Wed, May 5, 2010 at 7:29 PM, Rick DeNatale <rick.denatale / gmail.com> wrote: Thank you very much Rick, that was an awesome answer. > Time.utc(y) seems to interpret a y between 0 and 38 as being > 2000..2038). So it will return a Time object whose year is the passed > parameter + 2000. I found yesterday by trial and error that special behaviour extends to 138, and in fact revised an internal Rails utility that given a seriers of values constructs a Time if possible or a DateTime otherwise: http://github.com/rails/rails/commit/53c1cd6cde6e34996ff85960f06749b681200908 Do you know by any chance what is the rationale behind that range 0 <= y <= 138? It is perhaps something inherited from C or something?