Node.js dayjs フォーマット指定時に意図しない結果になる

customParseFormat 拡張した dayjs で TZ 環境変数 と指定するフォーマットで罠にハマる Z 指定したUTC日付はフォーマットで渡してパースしてもUTC扱いされると思ってた。 フォーマット指定では Z があろうが TZ 環境変数に依存する模様 いやいやいや。。。 フォーマット指定時に意図しない結果になる TZ=UTC dayjs('2022-12-17T11:43:29.277Z', 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]').toDate() // => 2022-12-17T11:43:29.277Z TZ=Asia/Tokyo TZ=Asia/Tokyoの場合は -9 時間されインスタンス化される!!!!!!(いやいやいや!!!) dayjs('2022-12-17T11:43:29.277Z', 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]').toDate() // => 2022-12-17T02:43:29.277Z フォーマットを指定しなければ問題ない TZ=UTC dayjs('2022-12-17T11:43:29.277Z').toDate() // => 2022-12-17T11:43:29.277Z TZ=Asia/Tokyo dayjs('2022-12-17T11:43:29.277Z').toDate() // => 2022-12-17T11:43:29.277Z

2022-12-20 ·  2023-04-26 · 1 分 · 42 文字