time_t - When does it break?
Stuart D. Gathman
stuart at gathman.org
Thu Jul 17 14:52:39 EDT 2008
Charles Day wrote:
> No, the transaction timestamp is stored, denoting the precise point in
> time at which the transaction posted. The time zone is only needed
> when converting to a date or time of day, and for that you have the
> user's preferences (a default display time zone, a time zone per
> account register, and a reporting time zone.)
Repeat after me: timestamps do not store date. Timestamps do not store
date. Your own example shows that timestamps do not store the date.
The date changes when the user changes timezone!!! As you just said
above: "The time zone is only needed when converting to a date ...".
That is precisely the problem. The time zone is needed when converting
to a date or time of day. Is the problem that people don't think dates
are important in accounting? Then why have the user enter a date ???
> Having a preference for a single time zone just means ignoring the OS
> time zone. If we were going to do this, then why even offer users an
> option, or save it? The GnuCash developers could just pick a time zone
> at random and go with that.
As long as only dates were ever displayed, that would work fine (other
than being kludgy, complicated and slow compared to storing dates) .
But some modules, like stock prices, need actual timestamps. And
displaying those in an arbitrary gnucash timezone would be highly
confusing to the end user.
More information about the gnucash-devel