方法一
//getDays(2022,9,6)
function getDays(year,month,date){
//创建一个对象,保存传递的日期
var d=new Date(year,month-1,date)
//计算2月份的天数
var second=year%4===0 && year%100!==0 || year%400===0 ? 29 : 28
//创建一个数组,保存12个月每月的天数
var arr=[31,second,31,30,31,30,31,31,30,31,30,31]
//循环,获取前month-1个月天数的总和
//申明变量保存总和
for(var i=0,sum=0;i<month-1;i++){
// console.log(i,arr[i])
//把每个月的天数加到sum
sum+=arr[i]
}
//最后还要加上这个月过去的天数
return sum+date
}
console.log(getDays(2022,9,6))
方法二
function getDays3(year,month,date){
// 创建Date对象保存这个日期 月份是下标0-11
var d1=new Date(year,month-1,date )
console.log(d1) //2022-01-02T16:00:00.000Z
// 创建Date对象保存这一年的第一天
var d2=new Date(year,0,1)
// 计算两者相差的毫秒 时间戳getTime()
var d=d1.getTime()-d2.getTime()
// console.log(d) 92448000000
return d/(24*60*60*1000)
}
console.log(getDays3(2022,9,6))