【工具】前端 js 判断当前日期是否在当前自然周内
function isCurrentNaturalWeek(targetDate) {
const today = new Date();
const dayOfWeek = today.getDay(); // 0(周日)到6(周六)
// 计算本周一的日期(自然周从周一开始)
const monday = new Date(today);
monday.setDate(today.getDate() - dayOfWeek + (dayOfWeek === 0 ? -6 : 1));
monday.setHours(0, 0, 0, 0);
// 计算本周日的日期
const sunday = new Date(monday);
sunday.setDate(monday.getDate() + 6);
sunday.setHours(23, 59, 59, 999);
// 判断目标日期是否在区间内
return targetDate >= monday && targetDate <= sunday;
}
// 示例:判断今天(2025-02-27,周四)是否在当前自然周
const currentDate = new Date('2025-02-27');
console.log(isCurrentNaturalWeek(currentDate)); // true