[Haskell-cafe] Re: Can't do basic time operations with System.Time
Simon Marlow
simonmar at microsoft.com
Tue Jan 25 10:15:38 EST 2005
On 21 January 2005 21:50, John Goerzen wrote:
> On 2005-01-21, Peter Simons <simons at cryp.to> wrote:
>>> 24 * ((fromIntegral $ tdDay td) +
>>> 30 * ((fromIntegral $ tdMonth td) +
>>> 365 * (fromIntegral $ tdYear td)))))
>>
>> I was wondering: Does this calculation account for leap
>> years? Does it have to?
>
> I also wondered about all months being 30 days. But this exact
> algorithm is used in fptools' normalizeTimeDiff, and it seems to work
> out correctly, so I guess the timeDiff functions assume that every
> month has 30 days and every year has 365.
normalizeTimeDiff (and TimeDiff in general) is wrong. I wouldn't
recommend using it. There's the TimeExts library in the lang package,
which might be useful to you.
Cheers,
Simon
More information about the Haskell-Cafe
mailing list