mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Fix the implementations of gnc_foo_get_day_neutral.
As implemented these returned 10:59 AM local on the day but neutral time is 10:59 UTC.
This commit is contained in:
parent
c6c5777cf2
commit
3a35514d84
@ -1269,6 +1269,14 @@ gnc_tm_get_day_start (struct tm *tm, time64 time_val)
|
||||
gnc_tm_set_day_start(tm);
|
||||
}
|
||||
|
||||
void
|
||||
gnc_tm_set_day_neutral (struct tm *tm)
|
||||
{
|
||||
auto time_val{gnc_dmy2time64_internal(tm->tm_mday, tm->tm_mon + 1,
|
||||
tm->tm_year + 1900, DayPart::neutral)};
|
||||
gnc_localtime_r(&time_val, tm);
|
||||
}
|
||||
|
||||
static void
|
||||
gnc_tm_get_day_neutral (struct tm *tm, time64 time_val)
|
||||
{
|
||||
@ -1302,11 +1310,9 @@ time64
|
||||
gnc_time64_get_day_neutral (time64 time_val)
|
||||
{
|
||||
struct tm tm;
|
||||
time64 new_time;
|
||||
|
||||
gnc_tm_get_day_neutral(&tm, time_val);
|
||||
new_time = gnc_mktime(&tm);
|
||||
return new_time;
|
||||
gnc_localtime_r(&time_val, &tm);
|
||||
return gnc_dmy2time64_internal(tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900,
|
||||
DayPart::neutral);
|
||||
}
|
||||
|
||||
time64
|
||||
|
@ -539,18 +539,9 @@ void gnc_tm_set_day_start (struct tm *tm)
|
||||
}
|
||||
|
||||
/** The gnc_tm_set_day_neutral() inline routine will set the appropriate
|
||||
* fields in the struct tm to indicate 10:59am of that day. This
|
||||
* routine assumes that the contents of the data structure is already
|
||||
* in normalized form.*/
|
||||
static inline
|
||||
void gnc_tm_set_day_neutral (struct tm *tm)
|
||||
{
|
||||
/* First second of the day */
|
||||
g_return_if_fail (tm != NULL);
|
||||
tm->tm_hour = 10;
|
||||
tm->tm_min = 59;
|
||||
tm->tm_sec = 0;
|
||||
}
|
||||
* fields in the struct tm to indicate 10:59am of that day.
|
||||
*/
|
||||
void gnc_tm_set_day_neutral (struct tm *tm);
|
||||
|
||||
/** The gnc_tm_set_day_middle() inline routine will set the appropriate
|
||||
* fields in the struct tm to indicate noon of that day. This
|
||||
@ -584,7 +575,7 @@ void gnc_tm_set_day_end (struct tm *tm)
|
||||
* seconds and adjust it to the first second of that day. */
|
||||
time64 gnc_time64_get_day_start(time64 time_val);
|
||||
|
||||
/** The gnc_time64_get_day_netural() routine will take the given time in
|
||||
/** The gnc_time64_get_day_neutral() routine will take the given time in
|
||||
* seconds and adjust it to 10:59am of that day. */
|
||||
time64 gnc_time64_get_day_neutral(time64 time_val);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user