js通过年月日推算出周的时间范围日期
时间: 2023-08-10 17:04:33 浏览: 136
js年月日周时间范围控件
可以使用JavaScript内置的Date对象来实现。以下是一个示例代码,可以输入某年某月某日,输出该日期所在周的起始日期和结束日期。
```javascript
function getWeekRange(dateStr) {
const date = new Date(dateStr);
const dayOfWeek = date.getDay();
const diff = date.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1);
const weekStart = new Date(date.setDate(diff));
const weekEnd = new Date(weekStart);
weekEnd.setDate(weekEnd.getDate() + 6);
return [weekStart, weekEnd];
}
const dateStr = '2021-09-29';
const [weekStart, weekEnd] = getWeekRange(dateStr);
console.log(`Week starting from ${weekStart.toLocaleDateString()} to ${weekEnd.toLocaleDateString()}`);
```
其中,首先将输入的日期字符串转换为Date对象。然后,获取该日期是周几(0表示周日,1表示周一,以此类推)。接着,计算出该日期所在周的起始日期(如果这一天是周日,则起始日期为本周的前6天;否则起始日期为本周的第一天),并将其保存到weekStart变量中。最后,将weekStart复制到weekEnd变量中,并将其日期加上6天,得到该日期所在周的结束日期。最后输出起始日期和结束日期即可。
阅读全文