原です。

> わたなべです.

> :p Time.gm(1997, 1).mon  # => 0
> :
> :これでいいんでしょうか?(いいのかもしれない。)
> 
> struct tm の tm_mon は 0 から 11 です. マニュアルには構造体
> の内容を返すとあるので, いいんでしょう.

いえその通りなんで、"Jan" = 0 と思い込んでプログラムしてたら、
調子悪かったんで気づいたんです。

ま> これは(いまんとこ)仕様です.こっちはUNIXの方に合わせたんで.
ま> ちょっと気分悪いですけどね.合わせた方が良いのかなあ.

やっぱり、Time.gm においても 0 を1月とする、つまり、
0 = "Jan" = "1" = "01" としたらどうかなあ。

1 != "1" となるのが戸惑うかもしれないけど、ruby では、
型の自動変換は起こらないのが常識(?)であるから、それ
はユーザーが注意すべきことで、納得できる仕様だと思うん
だけど。