[Gauche-devel-jp] date->stringの動作について

アーカイブの一覧に戻る

Koga Kazuo kogak****@gmail*****
2007年 3月 21日 (水) 23:33:38 JST


こんにちは。古賀と申します。

srfi-19にあるdate->stringの動作についての質問です。
以下のコードで、

(date->string (time-utc->date (make-time time-utc 0 0)) "~5")
=> "1970-01-01T 9:00:00"

というように時間のところが2桁ではなく1桁と空白になります。
これは意図した実装なんでしょうか。

空白がなんだか気持ち悪いのですが。
ISO-8601について解説したサイトを調べたところ時間のところ
は2桁で表示するように読めたので、やっぱり2桁が正しいんじゃないかと
思いました。

ISO-8601の正式な仕様ではここは空白なのだ、とかsrfi-19の仕様ではここは
空白なのだ、とか理由があっての実装なのでしょうか。

gaucheのソースでは、ext/srfi/srfi-19-lib.scmの915行目あたり、
               (display (date->string date "~Y-~m-~dT~k:~M:~S"))))
というコード(~k)があるので、意図したものなのか…。
でも、同ファイルの750行目あたりには、
(define tm:iso-8601-date-time-format "~Y-~m-~dT~H:~M:~S~z")
というコードもあり、もしかして実装ミスかなあとも思ったしだいです。




Gauche-devel-jp メーリングリストの案内
アーカイブの一覧に戻る