On 9/29/06, Jeremy Tregunna <jtregunna / blurgle.ca> wrote: > > On 06-09-29, at 08:59, Matthew Harris wrote: > > > On 9/29/06, Tanner Burson <tanner.burson / gmail.com> wrote: > >> You mention that it can convert number of days/weeks into months. > >> How do > >> you deal with the fact that a "month" doesn't have a standard > >> number of > >> days? Do you do as the Rails extension does by assuming a fixed > >> number, or > >> some other form of trickery? > > > > Since durations are only based on timespans of fixed lengths, they do > > not work relatively. So there is no time-detection magic to determine > > the days in a given month, because also durations don't distinguish > > between what month it is (whether it be January or Feburary). > > BigDuration, the class that supports years and months will assume 30 > > days as 1 month, and 12 months as 1 year. > > Just to add a little bit here, in Io, our Duration module doesn't > know anything about months at the moment, instead adding up days. It > could keep a list holding the number of days in a month (in the case > of february, if a leap year is detected, replace the second item in > the list (28) with 29). Now that extension is pretty easy, but right > now we only keep track of years, days, hours, and so on. You might > consider doing something similar. It's fairly straight forward. > > Also, out of curiosity, why have two Duration classes? I can't see > how BigDuration would be required, perhaps could you elaborate a little? > > > Matt > > -- > Jeremy Tregunna > jtregunna / blurgle.ca > > > > Duration and BigDuration are separate because BigDuration independantly deals with years and months. Duration, when given a year or a month will automatically change those to the number of weeks. I wanted to strictly limit Duration to consistent numbers (weeks, days, hours, minutes, seconds) and BigDuration to the inconsistent numbers (months). -- Matt