From edbd8f4280752844b9b3bfe19ada4c1d6f928d16 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Wed, 14 May 2025 08:52:32 +0200 Subject: [PATCH] Utilizzo di g_date_time_new_utc al posto di _local per possibile bug. --- src/datetime.c | 41 ++++++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/src/datetime.c b/src/datetime.c index 20f4114..317600d 100644 --- a/src/datetime.c +++ b/src/datetime.c @@ -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; } -- 2.50.0