我有这个日期格式:Tue Oct 20 2020 00:00:00 GMT+0100(中欧标准时间)
当我这样做时:
myValue.toISOString();
这就是我得到的
2020-10-19T23:00:00.000Z
就是减一天。
如何在不更改日期格式的情况下解决此问题?
我有这个日期格式:Tue Oct 20 2020 00:00:00 GMT+0100(中欧标准时间)
当我这样做时:
myValue.toISOString();
这就是我得到的
2020-10-19T23:00:00.000Z
就是减一天。
如何在不更改日期格式的情况下解决此问题?
toISOString() 方法以简化的扩展 ISO 格式 (ISO 8601) 返回一个字符串,该字符串的长度始终为 24 或 27 个字符(YYYY-MM-DDTHH:mm:ss.sssZ 或 ±YYYYYY-MM-DDTHH:mm:ss。 sssZ,分别)。时区始终为零 UTC 偏移量,如后缀“Z”所示。
由于您当前的时区(中欧标准时间)是 GMT+1 这就是为什么您有第 1 天的时间。这实际上只是 UTC 当前时间。您所在的地区比 UTC 早一小时。如果您在一天中的不同时间检查,这将不是一天的差异,而是一小时的差异。
let date = new Date('Tue Oct 20 2020 00:00:00 GMT+0100');
console.log('date: ' + JSON.stringify(date));
let result = date.toLocaleDateString("fr-CA",{year:"numeric", month:"2-digit", day:"2-digit"});
console.log('result: ' + JSON.stringify(result));
日期:“2020-10-19T23:00:00.000Z”
结果:“2020-10-20”