]> saetta.ns0.it Git - libzakutils/commitdiff
Utilizzo di g_date_time_new_utc al posto di _local per possibile bug. develop
authorAndrea Zagli <azagli@libero.it>
Wed, 14 May 2025 06:52:32 +0000 (08:52 +0200)
committerAndrea Zagli <azagli@libero.it>
Wed, 14 May 2025 06:52:32 +0000 (08:52 +0200)
src/datetime.c

index 20f411494b6fb082c2bf2e1e97633b787f529d70..317600db2f139205c1f2188064c67e1b208bee81 100644 (file)
@@ -498,28 +498,27 @@ GDateTime
        g_free (new_format);
        g_free (new_str);
 
-       if (!error)
-               {
-                       ret = g_date_time_new_local (year,
-                                                    month,
-                                                    day,
-                                                    hour,
-                                                    minute,
-                                                    seconds);
-
-                       /* possible glib bug
-                        * returns a valid date also if day/month values are out of range */
-                       if (g_date_time_get_year (ret) != year
-                           || g_date_time_get_month (ret) != month
-                           || g_date_time_get_day_of_month (ret) != day
-                           || g_date_time_get_hour (ret) != hour
-                           || g_date_time_get_minute (ret) != minute
-                           || g_date_time_get_seconds (ret) != seconds)
-                               {
-                                       g_date_time_unref (ret);
-                                       ret = NULL;
-                               }
+       if (!error) {
+               /* la funzione g_date_time_new_local ritorna un'ora sbagliata solamente con la data 27/05/1979 */
+               ret = g_date_time_new_utc (year,
+                                                                  month,
+                                                                  day,
+                                                                  hour,
+                                                                  minute,
+                                                                  seconds);
+
+               /* possible glib bug
+                * returns a valid date also if day/month values are out of range */
+               if (g_date_time_get_year(ret) != year ||
+                       g_date_time_get_month(ret) != month ||
+                       g_date_time_get_day_of_month(ret) != day ||
+                       g_date_time_get_hour(ret) != hour ||
+                       g_date_time_get_minute(ret) != minute ||
+                       g_date_time_get_seconds(ret) != seconds) {
+                       g_date_time_unref (ret);
+                       ret = NULL;
                }
+       }
 
        return ret;
 }