JS代码实现获取一个日期属于某个月的第几周,若月份的第一天是周一周二周三周四,则算作是本月的第一周,若月份的第一天是周五周六周日,则算作上月的最后一周;若本月的最后一周剩下四天五天六天七天,则是本月最后一周,若本月的最后一周剩下一天二天三天,则是下个月的第一周
时间: 2023-06-12 17:07:04 浏览: 207
JS判断当前日期是否大于某个日期的实现代码
5星 · 资源好评率100%
可以使用JavaScript中的Date对象和一些简单的数学运算来实现,具体代码如下:
```javascript
function getWeekOfMonth(date) {
// 获取指定日期的年、月、日
const year = date.getFullYear();
const month = date.getMonth();
const day = date.getDate();
// 获取本月的第一天是周几
const firstDayOfMonth = new Date(year, month, 1).getDay();
// 计算本月第一周的起始日期
const firstWeekStartDay = 1 - firstDayOfMonth;
// 计算指定日期的差值天数
const diffDays = day - firstWeekStartDay;
// 计算本月第几周
const week = Math.ceil(diffDays / 7);
// 判断是否属于本月最后一周
const endOfMonth = new Date(year, month + 1, 0).getDate();
const daysLeft = endOfMonth - day;
if (daysLeft >= 4) {
return week;
} else {
return week + 1;
}
}
// 示例用法
const date = new Date('2022-01-15');
const weekOfMonth = getWeekOfMonth(date); // weekOfMonth为2,表示2022年1月15日属于本月的第2周
```
阅读全文