diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2022-03-20 13:22:38 +0100 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2022-03-21 12:56:42 +0000 |
commit | c3cc6bf5eb2e505e3f15c16f9a0fee9de7238574 (patch) | |
tree | 7a0ececd8a88c6a571326f3564c0d92a7825e75f | |
parent | 96efd662c990c4f9afb23b39ce0214b0f440d53a (diff) | |
download | glib-c3cc6bf5eb2e505e3f15c16f9a0fee9de7238574.tar.gz |
glib: Format GDateTime ISO8601 years as %C%y
The current use of %Y does not take into account that %Y will
not pad the year with 0's, meanwhile ISO8601 does expect a full
YYYY format for all dates. This breaks the formatting with dates
prior to the year 1000.
Split this into %C%y so 2-digit, 0-padded century and year are
printed separately, this gives the expected YYYY format.
-rw-r--r-- | glib/gdatetime.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/glib/gdatetime.c b/glib/gdatetime.c index 142338128..0ec390c94 100644 --- a/glib/gdatetime.c +++ b/glib/gdatetime.c @@ -3492,12 +3492,12 @@ g_date_time_format_iso8601 (GDateTime *datetime) GString *outstr = NULL; gchar *main_date = NULL; gint64 offset; - gchar *format = "%Y-%m-%dT%H:%M:%S"; + gchar *format = "%C%y-%m-%dT%H:%M:%S"; /* if datetime has sub-second non-zero values below the second precision we * should print them as well */ if (datetime->usec % G_TIME_SPAN_SECOND != 0) - format = "%Y-%m-%dT%H:%M:%S.%f"; + format = "%C%y-%m-%dT%H:%M:%S.%f"; /* Main date and time. */ main_date = g_date_time_format (datetime, format); |