The ~I and ~l formatter of date->string in sample implementation is not compliant.
Zhu Zihao 03 Mar 2026 13:29 UTC
Hi, Arthur.
In the section of 'date->string' in SRFI-19, it says:
~I hour, zero padded, 12-hour clock (01...12)
...
~l hour, blank padded, 12-hour clock ( 1...12)
~I and ~l formatter should print from 1 to 12 (This aligns with how we
read time from real clock and watch).
However, the sample implementation of ~I and ~l would print 00 or 0 for
time at 00:XX.
xxxxxx@(guile-user)> (define d (make-date 0 0 0 0 1 9 2018 0))
xxxxxx@(guile-user)> (date->string d)
$1 = "Sat Sep 01 00:00:00Z 2018"
xxxxxx@(guile-user)> (date->string d "~I")
$2 = "00"
--
Retrieve my PGP public key:
执行下列命令以获取我的 PGP 公有密钥:
gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC
Zihao / 閱卜錄