[GNC-dev] Significance of 18:59:00 in GnuCash 2.6.21 and altering of existing data

Kevin Buckley kevin.m.buckley at gmail.com
Sat May 2 03:00:10 EDT 2020

Hi there,

I appreciate that there may be some of you tempted to reply
just to say "you're using an old version: upgrade" but just
don't: you won't be addressing the issue, which exists betwee
two versions of the 2.6 series.

I've been happily using GnuCash 2.6.1 on an Ubuntu 14.04.6 LTS
system for a good while now. (No, no, stop there, don't say it!)

I recently decided to download the swathe of development DEBs
that allowed me to do a CMMI of the 2.6.21 sources, and was very
happy to see it compile without issue.

I then took an existing dot-xac file (yes: been using GnuCash
for that long!), copied it into a new directory, fired up the
GnuCash 2.6.21, opened the copy, duplicated a single TXN, and
saved the file and exited.

I then compared the old (2.6.1) file with the new (2.6.21) file
and whilst the new TXN was there, and nothing else of any note
appeared to have been changed (a good thing), I noticed that EVERY
value within the <ts:date> element of EVERY <trn:date-posted> element
had had the time in that value changed, from 00:00:00 to 18:59:00.

FWIW, the value in the <ts:date> element of the <trn:date-posted>
element of the new (duplicated) TXN had that same 18:59:00 time.

Furthermore, none of the times associated with the two files,
or of the duplication of the TXN were set/done at 18:59:00, nor
between 18:00 and 19:00, and not at 59 minutes past any hour.

I appreciate that both times are, or appear to be, arbitrary,
in that, by virture of all being the same, they are probably
not used by GnuCash itself, but are just extracted from a time_t
or similar structure that contains a date that gets created without
a time and so needs something, rather, sometime.

Was there a change then, between 2.6.1 and 2.6.21, that sees
this arbitrary time changed/set and, if so, why 18:59:00?

More importantly, even if GnuCash 2.6.21 had been designed to
create any new <trn:date-posted><ts:date> values, or other
time-insigniifcant "date-time" values, with the new arbitrary
time, why would it alter the value in existing data?

Was there something about 00:00:00 that GnuCash couldn't handle

I did think to grep the source tarball for the arbitrary time but it
only seems to explicitly appear in some of the ChangeLogs, vis

gnucash-2.6.21$ grep -r "18:59" *
ChangeLog.2006:2006-02-26 18:59  codehelp
ChangeLog.2006:2006-01-23 18:59  codehelp
ChangeLog.2007:2007-10-26 18:59  cstim
ChangeLog.2009:2009-11-08 18:59  plongstaff
ChangeLog.2010:2010-08-03 18:59  cmarchi

More information about the gnucash-devel mailing list