Gauche > Archives > 2013/03/07

2013/03/07 06:13:07 UTC(び)
#
https://gist.github.com/bizenn/5105899
#
数日前にここに書いた、date->string/string->date 互換のフォーマッタ/パーザを生成するモジュールです。一通り書けたみたいなので晒しておきます。
#
これを書いてる過程でsrfi-19.scmのバグをいくつか発見しました。
#
その一
#
gosh> (define d (current-date))
d
gosh> (slot-set! d 'nanosecond 1)
#<undef>
gosh> (date->string d "~f")
"04.0e-9"
#
その二
#
gosh> (slot-set! d 'hour 0)
#<undef>
gosh> (date->string d "~I ~p")
"00 AM"
#
`~I'
          時、0を補填、12時制(01...12)
#
ちなみに、~l も同じですね。
#
あと、~U、~V、~W はどういう挙動が正しいのかよくわからないので、srfi-19.scmの挙動をそのまま引き継いでいます。
#
この挙動がはっきりすると、~U|~V|~W+~w で日付が特定できるんだけどなぁ