js 根据当前时间生成历史半年前每周的自然周期开始和结束时间和周期
时间: 2023-11-14 12:35:28 浏览: 65
js做的显示当前时间
可以使用 JavaScript 中的 Date 对象和一些简单的计算来生成历史半年前每周的自然周期开始和结束时间和周期。
首先,获取当前时间的 Date 对象:
```javascript
const now = new Date();
```
然后,计算半年前的时间:
```javascript
const halfYearAgo = new Date(now.getTime() - 6 * 30 * 24 * 60 * 60 * 1000);
```
接下来,定义一个函数来计算给定日期所在周的开始和结束时间:
```javascript
function getWeekRange(date) {
const firstDayOfWeek = 1; // 周一是第一天
const dayOfWeek = date.getDay() === 0 ? 7 : date.getDay(); // 将周日转换为7
const start = new Date(date.getTime() - (dayOfWeek - firstDayOfWeek) * 24 * 60 * 60 * 1000);
const end = new Date(start.getTime() + 6 * 24 * 60 * 60 * 1000);
return [start, end];
}
```
最后,循环计算历史半年前每周的自然周期开始和结束时间和周期:
```javascript
const result = [];
let current = halfYearAgo;
while (current < now) {
const [start, end] = getWeekRange(current);
result.push({
start,
end,
period: `${start.getFullYear()}-${start.getMonth() + 1}-${start.getDate()} ~ ${end.getFullYear()}-${end.getMonth() + 1}-${end.getDate()}`,
});
current = new Date(current.getTime() + 7 * 24 * 60 * 60 * 1000);
}
console.log(result);
```
这样就可以生成历史半年前每周的自然周期开始和结束时间和周期了。
阅读全文