如何用js获取当年周数列表以及当前日期是第几周
获取当年周数列表
function getWeekList() { const currentYear = new Date().getFullYear(); const firstDayOfYear = new Date(`${currentYear}-01-01`); const firstThursday = new Date(firstDayOfYear); firstThursday.setDate( firstDayOfYear.getDate() + ((4 - firstDayOfYear.getDay() + 7) % 7) + 1 ); const weekList = []; let currentWeek = 1; while (firstThursday.getFullYear() === currentYear) { weekList.push({ value: currentWeek, text: `第${currentWeek}周` }); firstThursday.setDate(firstThursday.getDate() + 7); currentWeek++; } return weekList; } const weekList = getWeekList(); console.log(weekList); /* 打印结果 [ { value: 1, text: '第1周' }, { value: 2, text: '第2周' }, { value: 3, text: '第3周' }, // ... 其他周数 ] */
该函数首先获取当前年份,然后计算出当年第一天所在的星期几。根据第一个星期四的日期,计算出当年的周数。
然后循环遍历,将周数信息添加到 weekList 数组中并返回。每个元素都是一个对象,包含 value 和 text 属性。
当前日期是一年中的第几周
// 获取当前日期是一年中的第几周的函数 function getWeekNumber(date) { // 设置 Date 对象的 firstDayOfWeek 为周一 date.setHours(0, 0, 0, 0); // 设置 Date 对象的 firstDayOfYear 为 1 月 1 日 date.setDate(date.getDate() + 4 - (date.getDay() || 7)); // 计算当前日期是一年中的第几周 const yearStart = new Date(date.getFullYear(), 0, 1); const weekNo = Math.ceil((((date - yearStart) / 86400000) + 1) / 7); return weekNo; } // 获取当前日期 const currentDate = new Date(); // 获取当前年份 const currentYear = currentDate.getFullYear(); // 获取当前日期是一年中的第几周 const weekNumber = getWeekNumber(currentDate); // 输出结果 console.log(`${currentYear}年第${weekNumber}周`);
这段代码首先获取当前日期,然后通过 getWeekNumber() 函数计算当前日期是一年中的第几周。最后输出结果,格式为 “xx年第xx周”。
注意,这个函数的实现是基于 ISO 8601 标准的,即一年的第一周从第一个星期四开始计算。如果你需要使用其他定义的周数计算方式,可以根据实际需求进行修改。
总结
到此这篇关于如何用js获取当年周数列表以及当前日期是第几周的文章就介绍到这了,更多相关js获取当年周数列表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
本篇文章是对JS Jquery 遍历,筛选页面元素 自动完成的实现代码进行了详细的分析介绍,需要的朋友参考下2013-07-07uniapp中scroll-view实现自动滚动到最底部的方法
这篇文章主要给大家介绍了关于uniapp中scroll-view实现自动滚动到最底部的相关资料,在uniapp日常开发的过程中经常会有局部滚动的需求,而scroll-view组件正好可以满足这一需求,需要的朋友可以参考下2023-10-10
最新评论