没什么好解释的应该都能看懂
// 当前时间年月日时分秒
function getNow () {
let date = new Date();
let Y = date.getFullYear();
let M = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
let D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
let h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
let m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
let s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
}
// 计算当前日期是本月的第几周
function getMonthWeek () {
let date = new Date()
let day = date.getDate()
let w = date.getDay()
if (w == 0) {
w = 7;
}
console.log("当前第几周",Math.ceil((day + 6 - w) / 7))
return Math.ceil((day + 6 - w) / 7)
}
// 获取本月有多少周
function getWeekData(year, month) { //传入 年 月 获取当月有几周 以及日期
let date = new Date();
var new_year = date.getFullYear();; //取当前的年份
var new_month = date.getMonth() + 1;//取下一个月的第一天,方便计算(最后一天不固定)
if(new_month<10){
new_month = '0' + new_month
}
var weekDay = ["星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期天"];
if (new_month > 12) {
new_month -= 12; //月份减
new_year++; //年份增
}
var first_date = new Date(new_year, new_month, 1); //取当年当月中的第一天-时间格式
var last_Data = (new Date(first_date.getTime() - 1000 * 60 * 60 * 24)).getDate() //获取当月最后一天日期
//当月第一天是周几
var firstzhouji = new Date(new_year + '/' + new_month + '/' + 1).getDay() == 0 ? '星期天' : weekDay[new Date(new_year + '/' + new_month + '/' + 1).getDay() - 1]
//当月最后一天是周几
var lastzhouji = new Date(new_year + '/' + new_month + '/' + last_Data).getDay() == 0 ? '星期天' : weekDay[new Date(new_year + '/' + new_month + '/' + last_Data).getDay() - 1]
var firsttime = '' //第一周有几天
if (firstzhouji == '星期一') { firsttime = 7 }
if (firstzhouji == '星期二') { firsttime = 6 }
if (firstzhouji == '星期三') { firsttime = 5 }
if (firstzhouji == '星期四') { firsttime = 4 }
if (firstzhouji == '星期五') { firsttime = 3 }
if (firstzhouji == '星期六') { firsttime = 2 }
if (firstzhouji == '星期天') { firsttime = 1 }
var lasttime = '' //最后一周有几天
if (lastzhouji == '星期一') { lasttime = 1 }
if (lastzhouji == '星期二') { lasttime = 2 }
if (lastzhouji == '星期三') { lasttime = 3 }
if (lastzhouji == '星期四') { lasttime = 4 }
if (lastzhouji == '星期五') { lasttime = 5 }
if (lastzhouji == '星期六') { lasttime = 6 }
if (lastzhouji == '星期天') { lasttime = 7 }
// 前后两周 加上 剩余周数 得出总周数
var contime = 2 + (last_Data - lasttime - firsttime) / 7
console.log("本月有几周",contime)
return contime
}