Patch : editing "Posted" time of transactions.

John Ralls jralls at
Mon Feb 1 10:36:27 EST 2016

> On Feb 1, 2016, at 1:50 AM, gLETTERyYuMEANSj LETTERyOt <gletteryyumeansjletteryot at> wrote:
> Dear everyone,
> Can someone help me, by showing the right Gnucash-compatible way to recover the
> time difference due to the timezone settings at a given UTC date, in
> C++ and in C?
> This is blocking any progress from my part :-/

First, think hard about whether you really need that. The gnc_localtime function will fill in the struct tm correctly for the local timezone with the correct DST. That's what the date display functions in gnc-date.h use and you should probably be using them.

If you're sure that you really need the offset, the best you can do in C is to call gnc_localtime and gnc_gmtime with the same time64 and get the difference between the two returned structs tm. It will be corrected for the In C++ you can include gnc-datetime.hpp and construct a GncDateTime from your time64 and call its offset() member function. In both cases the result will be correct for the DST at the time.

John Ralls

More information about the gnucash-devel mailing list