js获取以当前时间为起始往前4周的时间数组,数据结构示例[ { text:'第n周', timestart: 'YY-MM-DD hh:mm:ss', timeend: 'YY-MM-DD hh:mm:ss' } ]
时间: 2024-10-25 09:06:12 浏览: 17
在JavaScript中,你可以使用`Date`对象以及一些日期函数来获取当前时间向前四周的时间范围,并创建相应的数据结构数组。这里是一个简单的例子:
```javascript
function getFourWeeksArray() {
const currentDate = new Date();
const weeksAgo = currentDate.setHours(0, 0, 0, 0) - (7 * 24 * 60 * 60 * 1000); // 一周以秒为单位
let result = [];
for (let i = 0; i < 4; i++) {
const startDate = new Date(currentDate.getTime() - weeksAgo * i);
const endDate = new Date(startDate);
// 由于一周天数不固定,需要取下一个周日作为每周结束时间
endDate.setDate(endDate.getDate() + 7 - endDate.getDay());
result.push({
text: `第${i+1}周`,
timestart: startDate.toISOString().split('T')[0],
timeend: endDate.toISOString().split('T')[0],
});
}
return result;
}
const fourWeeksArray = getFourWeeksArray();
console.log(fourWeeksArray);
```
这个函数首先获取当前时间并计算出四周前的时间。然后它遍历这四周,每次循环都会开始于上周日,并设置结束于下周一(因为默认的`setDate()`会将日期设置到指定周的星期日)。最后返回的数据结构数组就是你所需的形式。
阅读全文