【JavaScript】日付オブジェクト.getMonth()を扱う時の注意点

村上 著者:村上

【JavaScript】日付オブジェクト.getMonth()を扱う時の注意点

知らないととことんハマりそうなので、備忘録としてまとめ。
日付オブジェクトから月を取り出すときの注意点についてです。

サンプルコードはこちら。

var today = new Date();
var month = today.getMonth() + 1;

現在の月を取得するならこれだけなのですが、getMonth()メソッドを使ったときの返り値は 0~11 となります。
つまり、「0 = 1月」、「11 = 12月」なんです。
なので、コードにあるように、getMonth()返ってきた値に +1 をする必要があります。
…知らないとここでかなりハマりそうです。

なお、例によって後輩がこの状況に陥り、「今6月なのに、先月の日付が返ってくる!」と悩んでいました。
日付を console.log で出力すると正常で、でも月を取得すると5月だったということだったので、この現象を思い出せました。

 

以上、getMonth()メソッドを使うときの注意点でした。
…正直、「getMonth()」という名前なので、きっちり 1~12の間で値が返ってきてほしいですね。
もしJavaScriptで日付を扱う時に、値がおかしい場合は、まずこのあたりを疑ってみてください。
誰かの参考になれば幸いです。

  • この記事いいね! (0)

著者について

村上

村上 administrator