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