new Date()で月日を指定すると”2001年”が返ってくる問題

new Date()で”月日”だけを指定すると西暦は現在のものではなく”2001年”になる。

const date = new Date("2/19");   //Mon Feb 19 2001 00:00:00 GMT+0900 (GMT+09:00)

どうやらChrome特有の仕様らしい。

もし現在の年号としたい場合には、前処理として”年”だけをgetFullYear()で取得する。
そして”月日”を表す文字列に”年”を結合してからnew Date()を実行すれば、所望の値を取得することができる。

const year = new Date().getFullYear();    //2021
const date = new Date(year+" "+"2/19"); //Fri Feb 19 2021 00:00:00 GMT+0900 (GMT+09:00)

Related Posts