AIRのDate関数

AIRというか、ActionScriptのDate関数コンストラクタに

var tmp:Date = new Date(2012,8,7);

とやると、生成されるのは「2012年9月7日」を指すデータであるという謎仕様に遭遇。

なんで「0で一月」なのに「1で一日」なんだ?と思ったが、「年の頭から何日目」という計算をするときには確かに「一月は考えなくていい」けど「一日はそのまま足す」わけだから、プログラマのいいたいことは分かった。


「Januaryは1月じゃない、0月なんだ!その方が合理的なんだ!」という主張なわけですな(笑)