我对javascript Date.toISOString((函数感到困惑,该函数如下所示,为什么ISO格式的x的日期值变成一月?
const date = new Date();
const x = (new Date(date.getFullYear(), date.getMonth() , 1));
console.log(date); \Tue Feb 04 2020 11:11:12 GMT+0800 (Malaysia Time)
console.log(x); \Sat Feb 01 2020 00:00:00 GMT+0800 (Malaysia Time)
console.log(date.toISOString()); \2020-02-04T03:11:12.330Z
console.log(x.toISOString()); \2020-01-31T16:00:00.000Z
这是由于时区从GMT+08转换为UTC。toISOString 函数将日期转换为 UTC(请注意,您可以通过字符串末尾的"Z"确定日期是否在 UTC 时区中(。
将Feb 01 2020 00:00:00 GMT+0800
转换为 ISO 字符串时,日期减少 8 小时,因此变为Jan 31 2020 16:00:00
。