わかりにくいタイトルやけども、こういうことです。
var d = new Date(); d.getMonth(); // 10 <- 今11月やのに!
というわけで、getMonth()の起算点が0からなので、+1しないとズレます。
PerlとかJavaとかでもそうらしい。
参考:Moment.js | Parse, validate, manipulate, and display dates in javascript.
大人しくライブラリ使おうか迷った。
だいぶ前から有名やけど、やっぱこのライブラリすげーっす。
UNIXタイムスタンプとかもサクッと扱えるし。