javascript的防坑小指南
1.
function getPreviousDay(date = new Date()) {
const previous = new Date(date.getTime());
previous.setDate(date.getDate() - 1);
return previous;
}
var lastday3=new Date("2025-01-01");
lastday3.setDate(lastday3.getDate()-1);
const lastday3Str=lastday3.toISOString().split('T')[0];
console.log(lastday3Str); // 2024-12-31
var lastday4=new Date(2025,0,1);
lastday4.setDate(lastday4.getDate()-1);
const lastday4Str=lastday4.toISOString().split('T')[0];
console.log(lastday4Str); // 2024-12-30
console.log("fixed???");
var lastday5 = getPreviousDay(new Date(2025,0,1));
const lastday5Format = lastday5.getFullYear() + '-' +
String(lastday5.getMonth() + 1).padStart(2, '0') + '-' +
String(lastday5.getDate()).padStart(2, '0');
console.log(lastday5Format); //2024-12-31
异常原因
toISOString() 会强制转换为 UTC 时区,可能导致日期时间显示与本地预期不符。而手动拼接日期时间字符串可以保留原始数据的本地值,避免时区转换的干扰。
浙公网安备 33010602011771号