判断当前日期是第几周

56 阅读1分钟
 function getWeekOfMonth(date: any) {
  // 复制日期对象,避免修改原日期
  const d = new Date(date);

  // 获取当月第一天
  const firstDay = new Date(d.getFullYear(), d.getMonth(), 1);

  // 计算第一天是星期几(0-6,0表示星期日)
  const firstDayOfWeek = firstDay.getDay();

  // 计算当前日期是当月的第几天
  const dayOfMonth = d.getDate();

  // 计算周数
  // 这里采用的方式是:(当月天数 + 第一天星期几) / 7 向上取整
  return Math.ceil((dayOfMonth + firstDayOfWeek) / 7);
}