Node.jsで日付入力を行うと1か月先が表示される
解決したいこと
Node.jsでDiscordのBOT開発を行っているのですが、
日付を出力する部分でなぜか想定の1か月先が表示されてしまいます。
発生している問題
yearx = Math.trunc(rec_date/10000)
monthx = Math.trunc((rec_date - yearx*10000)/100)
dayx = (rec_date - monthx * 100 - yearx * 10000)
let rec_date_day = new Date(yearx, monthx, dayx, 00, 00, 00).toLocaleString('ja-JP', { timeZone: 'Asia/Tokyo' })
console.log(rec_date_day )
入力と出力
入力値:rec_date = 20220810
出力:2022/9/10 0:00:00
自分で試したこと
1.計算結果の間違い
計算の結果が間違えてるのかと思い、
yearx、monthx、dayxの値を出力しましたが、問題なく
yearx:2022
monthx:8
dayx:10
が表示されていました。
2.少数の計算の問題
表示では出てこない計算上の小数点が悪さをしているのかと思い、はじめ使っていた
Math.floorからMath.truncに置き換えてみましたが結果は変わりませんでした。
調べても同じような問題に直面している記事が見つからなかったため、質問させていただきました。
0