// 获取当前季度的序号 var currentQuarter = Math.floor((today.getMonth() + 1) / 3); // 获取上一个季度的序号 var previousQuarter = currentQuarter - 1; lastMonth = new Date(today.getFullYear(), today.getMonth() , today.getDate()); var yearQuarter = lastMonth.getFullYear(); // 如果当前是第一季度,则上一个季度是去年的第四季度 if (previousQuarter < 1) { previousQuarter = 4; yearQuarter=yearQuarter-1 } previousQuarter=previousQuarter.toString().padStart(2, '0') var quer =yearQuarter + ' - ' + previousQuarter; var quarter=quer.slice(-1); var yearquer = quer.substring(0, 4); let startMonth = (quarter - 1) * 3 + 1; let endMonth = startMonth + 2; let startDate = new Date(year, startMonth - 1, 1); let endDate = new Date(year, endMonth - 1, 1); endDate.setMonth(endDate.getMonth() + 1); endDate.setDate(endDate.getDate() - 1); startMonth=(startDate.getMonth()+1).toString().padStart(2,'0'); endMonth=(endDate.getMonth()+1).toString().padStart(2,'0'); document.getElementById('qt_1').value=startDate.getFullYear() + "-" + startMonth + "/" + year + "-" + endMonth ;这段代码导致我点开选择日历时显示的是1899,这该怎么解决
时间: 2024-02-26 17:56:57 浏览: 22
这段代码中有一些问题,需要进行修改。首先,变量year没有定义,应该使用变量yearQuarter代替。其次,endDate.setDate(endDate.getDate() - 1)这行代码应该在endDate.setMonth(endDate.getMonth() + 1)之后执行。最后,startDate和endDate的年份应该使用yearQuarter而不是year。
以下是修改后的代码:
```
var today = new Date();
var currentQuarter = Math.floor((today.getMonth() + 1) / 3);
var previousQuarter = currentQuarter - 1;
var lastMonth = new Date(today.getFullYear(), today.getMonth(), today.getDate());
var yearQuarter = lastMonth.getFullYear();
if (previousQuarter < 1) {
previousQuarter = 4;
yearQuarter = yearQuarter - 1;
}
previousQuarter = previousQuarter.toString().padStart(2, '0');
var quer = yearQuarter + ' - ' + previousQuarter;
var quarter = quer.slice(-1);
var yearMonth = quer.substring(0, 4);
let startMonth = (quarter - 1) * 3 + 1;
let endMonth = startMonth + 2;
let startDate = new Date(yearQuarter, startMonth - 1, 1);
let endDate = new Date(yearQuarter, endMonth - 1, 1);
endDate.setMonth(endDate.getMonth() + 1);
endDate.setDate(endDate.getDate() - 1);
startMonth = (startDate.getMonth() + 1).toString().padStart(2, '0');
endMonth = (endDate.getMonth() + 1).toString().padStart(2, '0');
document.getElementById('qt_1').value = startDate.getFullYear() + "-" + startMonth + "/" + endDate.getFullYear() + "-" + endMonth;
```
这样修改后,应该就可以正确显示日期了。