[calls/gnome-41] record-row: Take timezone into account for displaying in the UI



commit 1cb67f8073c16fe63310a34fa47ea976d677a39a
Author: Evangelos Ribeiro Tzaras <devrtz fortysixandtwo eu>
Date:   Fri Oct 15 18:14:39 2021 +0200

    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 155e7840..1d4e18de 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;
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]