From: Stefan Rusterholz Date: 2008-03-16T10:05:24+09:00 Subject: Re: Time vs Datetime vs Date Daniel Mendler wrote: > Hi all, > > why are there three different classes representing time? I think that is > a really bad spot in the ruby library, because Time and DateTime seem to > be incompatible to each other. For example in rails sql columns declared > as datetime are returned as time, so I had to convert them manually. It > doesn't seems to be consistent... > > Daniel IMO they all suck. I invite everybody with spare time and some ruby/C knowledge to help me finish chronos (http://butler.rubyforge.org/svn/Version%201.0/chronos_library/ - missing are DST implementation, refactoring to use modules so that one can use it with Gregiorian, Julian, Chinese, Discordian or whatever calendar system he/she likes, C implementation of the math stuff for gregorian even though the ruby implementation beats Date by around factor 10, calendar - a mutable gregorian datetime object and some other things). Anyway, to answer your question: Time is a wrapper around Unix-Epoch. Date (and DateTime) use rational and a "day zero" for storage. So Time is faster but the upper and lower bounds are tied to epoch time (which for 32bit epoch times is something around 1970-2040 - not even enough to represent the birthsday of my parents) while Date (and DateTime) have an almost infinite range but are *terribly* slow. And both classes' interfaces are less than stellar IMO. Regards Stefan -- Posted via http://www.ruby-forum.com/.