(03)JS/VUE获取一个月有多少天

方法一
new Date()第3个参数默认为1,就是每个月的1号,把它设置为0时, new Date()会返回上一个月的最后一天,然后通过getDate()方法得到天数

function getMonthDay(year,month) {
  let days = new Date(year, month + 1, 0).getDate();
  console.log(days);
  return days;
}
getMonthDay(2023,1) //28

方法二
可以把每月的天数写在数组中,再判断时闰年还是平年确定2月分的天数

function getDays(year, month) {
   let days = [31,28,31,30,31,30,31,31,30,31,30,31] 
  if ( (year % 4 ===0) && (year % 100 !==0 || year % 400 ===0) ) {
        days[1] = 29
  }
  console.log(days[month]);
 return days[month]  
}
getDays(2023,0) // 31

方法三

 function getMonthDays (myMonth){
	 let monthStartDate = new Date(new Date().getFullYear(), myMonth, 1);
	 let monthEndDate = new Date(new Date().getFullYear(), myMonth + 1, 1);
	 let days = (monthEndDate - monthStartDate)/(1000 * 60 * 60 * 24);
	 console.log(days);
	 return days;
 }
getMonthDays(0) // 31

方法四

getDate()
today.getMonth() + 1,加 1 得到当前月份
new Date(today.getFullYear(), today.getMonth(), 0);
得到当前的年份,月份,0代表 today.getMonth()月1号的前一天。
date = new Date(2017,11,0);//表示date是2017/12/1号的前一天,就是2017/11/30这天
通常用new Date(2020,2,0).getDate()计算某月的天数

 var today = new Date();
 
// 获取当月天数 curretMonthDayCount
 var curretMonth = new Date(today.getFullYear(), today.getMonth() + 1, 0);
 var curretMonthDayCount = curretMonth.getDate();
 
// 获取上个月天数 preMonthDayCount
 var preMonth = new Date(today.getFullYear(), today.getMonth(), 0);
 var preMonthDayCount = preMonth.getDate();
 
// 获取前一个月天数
 var beforePreMonth = new Date(today.getFullYear(), today.getMonth() - 1, 0);
 var beforePreMonthDayCount = beforePreMonth.getDate();

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值