mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-25 03:32:12 +01:00
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.
This commit is contained in:
parent
96efd662c9
commit
c3cc6bf5eb
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user