js获取一个以周一为开始,周日为结束,连续4周的时间组成的数组,最后一周为本周,数据结构示例[ { text:‘第n周’, timestart: ‘YY-MM-DD hh:mm:ss’, timeend: ‘YY-MM-DD hh:mm:ss’ } ]
时间: 2024-10-25 15:18:17 浏览: 9
在JavaScript中,你可以使用Date对象以及一些日期计算来实现这个需求。首先,你需要创建一个函数,它接受当前日期作为输入,并返回符合要求的数组。以下是一个简单的实现步骤:
```javascript
function getFourWeeksArray(date) {
const startDate = new Date(date);
const endDate = new Date();
let weeksArray = [];
for (let i = 0; i < 4; i++) {
// 设置一周的起始和结束日期
startDate.setDate(startDate.getDate() - (i * 7)); // 从周一开始
startDate.setHours(0, 0, 0, 0); // 清空时间部分
endDate.setDate(endDate.getDate() - (i == 3 ? 0 : 6)); // 如果是最后一周,则到周日,否则到周六
endDate.setHours(23, 59, 59, 999);
weeksArray.push({
text: `第${i + 1}周`,
timestart: startDate.toISOString().split('T')[0],
timeend: endDate.toISOString().split('T')[0]
});
}
return weeksArray;
}
// 获取并打印当前周的四个时间段
const currentDate = new Date();
console.log(getFourWeeksArray(currentDate));
```
这个函数会生成一个包含四周的数组,其中每周的`timestart`和`timeend`属性都是ISO格式的日期字符串。
阅读全文