js如何获取当月第一天和最后一天

tech2022-11-04  133

一/ 获取的是 ***date格式***的当月第一天,最后一天,当天

var now = new Date() // 当前日期 var nowYear = now.getFullYear() //当前年 var nowMonth = now.getMonth() //当前月 (值为0~11) var d = now.getDate() //当天 var firstDay = new Date(nowYear,nowMonth,1) // 本月开始时间 var LastDay = new Date(nowYear, nowMonth+1,0); // 本月结束时间 var toDay = new Date(nowYear,nowMonth,d) // 本月今天 //如果想获取本月第一天00:00和最后一天23:59 //var firstDay = new Date(nowYear,nowMonth,1,00,00) //var LastDay = new Date(nowYear, nowMonth+1,0, 23,59); //var toDay = new Date(nowYear, nowMonth, d, 23,59,59); // 获取今天23时:59分:59秒

注意:

第三个参数 0和1的区别: 1)0会转换为:第二个参数的最后一天; 如new Date(2020,8,0) => 2020年8月31号 2)1会转换为:第二个参数+1的第一天; 如new Date(2020,8,1) => 2020年9月1号

2.这里输入单双皆可,但是在代码里strict模式输入00会报错,所以如果是单数输入0即可,不用00的形式。

二 / 获取的是 ***字符串格式***的当月第一天,最后一天,当天

/** * 获取当前月份的第一天、当天和最后一天 **/ function getFirstNowLastDay() { var now = new Date(); var strLink = "-"; var year = now.getFullYear(); var month = now.getMonth() + 1; var day = now.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (day >= 1 && day <= 9) { day = "0" + day; } var firstDate = year + strLink + month + strLink + '01'; var sysDate = year + strLink + month + strLink + day; var lastDay = this.getLastDay(year, month); var lastDate = year + strLink + month + strLink + lastDay; var returnArr = [firstDate, sysDate, lastDate];//以数组形式返回 return returnArr; } /** * 获取当月的最后一天 * @param year 年份 * @param month 月份 **/ function getLastDay(year,month){ var new_year = year; var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定) if(month>12){//如果当前大于12月,则年份转到下一年 new_month -=12;//月份减 new_year++;//年份增 } // 取当年当月对应的下个月的前一天,即当前月的最后一天 var last_date = new Date(new_year,new_month,0).getDate(); return last_date; }
最新回复(0)