我有这样的日期格式:2020年10月20日星期二00:00:00 GMT+0100(中欧标准时间(
当我这样做的时候:
myValue.toISOString((;
这就是我得到的
2020-19T23:00 0.000Z
这是减去一天。
如何在不更改日期格式的情况下解决此问题?
toISOString((方法以简化的扩展ISO格式(ISO 8601(返回一个字符串,该字符串始终为24或27个字符长(分别为YYYY-MM-DDTHH:MM:ss.sssZ或±YYYY-MM-DDTHH:MM:ss.sssZ(。时区总是零UTC偏移,如后缀"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:0:00.000Z";
结果:";2020-10-20";