Zefram <zef...@fysh.org> writes: > scheme@(guile-user)> (date->string (julian-day->date 1722000 0) "~1") > $4 = "2-07-29" > scheme@(guile-user)> (date->string (julian-day->date 1730000 0) "~1") > $5 = "24-06-23" > scheme@(guile-user)> (date->string (julian-day->date 2000000 0) "~1") > $6 = "763-09-18"
This particular subset of bugs, for years 0-9999, was fixed in the upstream SRFI-19 reference implementation, and so I included the same fix in commit 5106377a3460e1e35daf14ea6edbe80426347155. That fix pads the year to have at least 4 characters with the requested padding character (0 by default). However, it does not handle adding the sign where mandated by ISO 8601. As with your related bug <https://bugs.gnu.org/21903>, I think this bug should be reported to upstream SRFI-19, and hopefully they will take it seriously. I'm reluctant to have Guile deviate from most (all?) other SRFI-19 implementations in this respect. There's also the issue that 'string->date' would need to be fixed to successfully parse the years as printed by 'date->string'. Would you like to report these issues to upstream SRFI-19? Regards, Mark