From: Tadayoshi Funaba Date: 2008-11-25T07:34:19+09:00 Subject: [ruby-dev:37180] Re: [Bug #786] Time#strftime で %s が負である場合に桁を間違える > >ruby -e "p Time.at(-1).strftime('[%3s]')" > > の結果は、という話だと思うのですが、ここで0を補っちゃうと空 > 白で補うという指定ができないんじゃないでしょうか。デフォルト > では空白、%03sは0で補うんじゃないでしょうか。Time.strftimeは > 現状では空白で補ってます。 %e、%k、%l などは空白ですが、あとは大体 0 ですね。%s はどちらにも分類で きないパターンなのかもしれません。 gnu date では 0 で補っています。 $ date -d '2001-02-03' +%20s 00000000000981126000 空白でも補えます。 $ date -d '2001-02-03' +%_20s 981126000 僕が間違っているのか、glibc は思った以上にいい加減なのか、"%^P" なんか も大文字になるべきなんじゃないかと思うけど、なってないみたいですね。 $ ruby18 -e "p Time.mktime(2000,1,1,3).strftime('%10i')" " %10i" このあたりバグじゃないかと思うんですが。