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?