From 1cb67f8073c16fe63310a34fa47ea976d677a39a Mon Sep 17 00:00:00 2001 From: Evangelos Ribeiro Tzaras Date: Fri, 15 Oct 2021 18:14:39 +0200 Subject: [PATCH] record-row: Take timezone into account for displaying in the UI Since the database uses UTC times we have to take the timezone offset into account when displaying times in the UI. Fixes #163 (cherry picked from commit 57ec06a6f574b1530ae03f5fef520737ddfdf9b5) --- src/calls-call-record-row.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/calls-call-record-row.c b/src/calls-call-record-row.c index 155e784..1d4e18d 100644 --- a/src/calls-call-record-row.c +++ b/src/calls-call-record-row.c @@ -95,17 +95,19 @@ nice_time (GDateTime *t, gboolean *final) { GDateTime *now = g_date_time_new_now_local (); + g_autoptr (GTimeZone) local_tz = g_time_zone_new_local (); + g_autoptr (GDateTime) t_local_tz = g_date_time_to_timezone (t, local_tz); const gboolean today = - calls_date_time_is_same_day (now, t); + calls_date_time_is_same_day (now, t_local_tz); const gboolean yesterday = - (!today && calls_date_time_is_yesterday (now, t)); + (!today && calls_date_time_is_yesterday (now, t_local_tz)); g_assert (nice != NULL); g_assert (final != NULL); if (today || yesterday) { - gchar *n = g_date_time_format (t, "%R"); + gchar *n = g_date_time_format (t_local_tz, "%R"); if (yesterday) { @@ -120,12 +122,12 @@ nice_time (GDateTime *t, } else if (calls_date_time_is_same_year (now, t)) { - *nice = g_date_time_format (t, "%b %-d"); + *nice = g_date_time_format (t_local_tz, "%b %-d"); *final = FALSE; } else { - *nice = g_date_time_format (t, "%Y"); + *nice = g_date_time_format (t_local_tz, "%Y"); *final = TRUE; }