【javascript】Date関数の引数で「月」は0から始まる

Google Chartsを使ってグラフを作っていたのですが、31日が抜けるという事象があったので覚書です。

棒グラフで横軸を日付(dd)で表示していたのですが、31日が抜けていることに気が付きました。

答えからいうと、javascriptのDateの使い方を間違っていたということなのですが、罠的な感じでしたので書いていきます。

googlechartsを使ってグラフを表現しました。

表記のデータをセットするのですが

[{v:new Date(2018,11,28), f:'11/28(水)'}, 3.1,"black"],
[{v:new Date(2018,11,29), f:'11/29(木)'}, 3.6,"black"],
[{v:new Date(2018,11,30), f:'11/30(金)'}, 4.5,"#ffa500"],
[{v:new Date(2018,12,1), f:'12/01(土)'}, 4.2,"#ffa500"]

という感じでセットしています。

そうすると

グラフ

という具合に31日が抜けてしまっています。

セットしたデータの最初は表示を日付だけにして、横軸の目盛り名になっています。

日付だけにしていたので気が付かなかったのですが、javascriptのDate関数は月だけ0から始まるということにその時気が付きました。

実際はDate(2018,12,1) → 2019/1/1という意味になります。

なので31日がある10月分で31日の欄が出力されてしまったという事です。

0から始まるという仕様を始めて知ると言う、お粗末なミスでした。

kaito

WebデザインやWebシステムを作成しています。SEO関連の話しもしていきます。

シェアする

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください