1

I just want to know why these two dates in ISO format are not the same.

const d1 = '2022-08-04T08:16:32.716904'
const d2 = '2022-08-04T08:16:32.716Z'

console.log(new Date(d1).toLocaleString())
// "04/08/2022, 08:16:32"
console.log(new Date(d2).toLocaleString())
// "04/08/2022, 10:16:32"

2 Answers2

1

The Z stands for the Zero timezone, as it is offset by 0 from the Coordinated Universal Time (UTC).

Source: https://stackoverflow.com/a/29282022/11659853

This means the two Date objects have different time zones. The other Date object probably has your local time zone.

Thorin
  • 127
  • 1
  • 8
0

The timezone of of d1 is not the same of the timezone of d2. d2 is in Zulu (UTC) while d1 is given in your local timezone since the timezone info was not provided in the datestring.

Notice d2 has a Z letter after the time. d1 misses this.

You can look up more info about ISO datestrings and their timezone offset here: https://en.wikipedia.org/wiki/ISO_8601