From: Kyle Schmitt Date: 2008-12-12T04:26:02+09:00 Subject: Re: Out of range on Dates beyond 2038/01/19 On Thu, Dec 11, 2008 at 6:58 AM, Fernando Guillen wrote: > Hi people, > > I'd just found this issue trying to parse a date: > >>> Time.local(2038, 1, 19) > => Tue Jan 19 00:00:00 +0100 2038 >>> Time.local(2038, 1, 20) > ArgumentError: time out of range > from (irb):33:in `local' > from (irb):33 > > It looks like Time class is not available to manage dates bigger than > 2038/01/19. > > I have found this conversation: > > http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/190564 It's not a ruby bug per say, it's a general problem that 32bit systems have with unix time. Unix time is stored in seconds since the epoch, in a native unsigned integer, which on most systems is 32 bits. On 64bit systems, this obviously isn't a problem. See the link for details. http://en.wikipedia.org/wiki/Year_2038_problem