原です。

ruby の Time.gm はとても親切に出来てますね。

p Time.gm(1997, 1)      # => Wed Jan 01 09:00:00 JST 1997
p Time.gm(1997, "Jan")  # => Wed Jan 01 09:00:00 JST 1997
p Time.gm(97, "Jan")    # => Wed Jan 01 09:00:00 JST 1997
p Time.gm("97", 1)      # => Wed Jan 01 09:00:00 JST 1997

ところでこれを見ると1月が整数で 1 になっています。
次の結果を見ると変な気持ちになります。

p Time.gm(1997, 1).mon  # => 0

これでいいんでしょうか?(いいのかもしれない。)

p.s.
p Time.gm(1, "Jan")     # => Mon Jan 01 09:00:00 JST 2001
は恐れ入りました。(^^