time_t

Stuart D. Gathman stuart at gathman.org
Thu Jul 17 12:32:00 EDT 2008


Glen Ditchfield wrote:
> Stuart D. Gathman wrote:
>
>   
>> The issue here isn't the data file (which I assumed we all agreed
>> included the needed info).  The issue is that loading the
>> nice ascii timestamp with timezone into just a time_t field in memory
>> (even a 64 bit one) loses critical info: the timezone.
>>     
>
> On POSIX systems, and on Windows as far as I can see, time_t contains
> seconds since midnight, Jan 1 1970 UTC, so a timezone is in there. 
> GnuCash's timezone problem isn't time_t's fault.
>   
No, a time_t only stores a point in absolute (well, earth relative) 
time.  It does not record *where* (i.e. what timezone) that point in 
time occured.  In particular, it does not record what the *date* was at 
that point in time.  There are in general two possible dates for a given 
time_t depending on the timezone, and in some obscure cases, three.  The 
timezone is not "in there".


More information about the gnucash-devel mailing list