JavaScript获取指定年指定月份有几周,每周都有哪些日期的方法
JavaScript获取指定年指定月份有几周,每周都有哪些日期的方法
浏览次数:4 次
下载次数:0 次
下载积分:1 积分
评分:
要使用 JavaScript 获取指定月份的每周信息(包括每周的日期),可以按照以下步骤实现:
1.获取指定月份的开始日期和结束日期。
2.循环遍历每一天,按周归类到对应的数组。
3.输出每周日期的集合。
/**
* 获取指定月份的每周日期信息
* @param {number} year - 年份,例如 2024
* @param {number} month - 月份,1-12
* @returns {Array<Array<string>>} 每周日期的二维数组,格式为 YYYY-MM-DD
*/
function getMonthWeeks(year, month) {
// JS 的月份是从 0 开始,所以需要减 1
const startDate = new Date(year, month - 1, 1);
const endDate = new Date(year, month, 0); // 获取指定月份的最后一天
const weeks = [];
let currentWeek = [];
for (let date = new Date(startDate); date <= endDate; date.setDate(date.getDate() + 1)) {
const day = date.getDay(); // 获取当前日期是星期几(0: 星期日, ..., 6: 星期六)
const formattedDate = date.toISOString().slice(0, 10); // 格式化为 YYYY-MM-DD
currentWeek.push(formattedDate);
// 如果是星期六或是最后一天,结束当前周
if (day === 6 || date.getTime() === endDate.getTime()) {
weeks.push(currentWeek);
currentWeek = [];
}
}
return weeks;
}
// 测试函数
const year = 2024;
const month = 11; // 11 月
const weeks = getMonthWeeks(year, month);
console.log(`月份: ${year}年${month}月`);
weeks.forEach((week, index) => {
console.log(`第${index + 1}周:`, week);
});
输出示例
以 2024 年 11 月为例,输出可能为:
月份: 2024年11月
第1周: [ '2024-11-01', '2024-11-02' ]
第2周: [ '2024-11-03', '2024-11-04', '2024-11-05', '2024-11-06', '2024-11-07', '2024-11-08', '2024-11-09' ]
第3周: [ '2024-11-10', '2024-11-11', '2024-11-12', '2024-11-13', '2024-11-14', '2024-11-15', '2024-11-16' ]
第4周: [ '2024-11-17', '2024-11-18', '2024-11-19', '2024-11-20', '2024-11-21', '2024-11-22', '2024-11-23' ]
第5周: [ '2024-11-24', '2024-11-25', '2024-11-26', '2024-11-27', '2024-11-28', '2024-11-29', '2024-11-30' ]
代码解释
1.new Date(year, month - 1, 1): 获取指定月份的第一天。
2.new Date(year, month, 0): 获取指定月份的最后一天。
3.date.getDay(): 确定当前日期是星期几。
4.currentWeek.push(formattedDate): 将每一天加入当前周。
5.判断周结束:
如果 day === 6,表示是周六,结束本周。
如果 date.getTime() === endDate.getTime(),表示是最后一天。
你可以根据需要调整日期的格式和逻辑。
本站素材来自用户分享,仅限学习交流请勿用于商业用途。如损害你的权益请联系客服QQ:201240120 给予处理。
还没有评论哦!