需求:
el-date-picker 中 type = monthrange 。所选月份为当前月时,获取当天日期 。 非当前月时,获取所选月的最后一天
这里组件 type = monthrange 所返回的时间参数,并不是我们需要的。
需进一步对返回时间进行处理,贴代码
<el-date-picker @change="changeMonth" type="monthrange" start-placeholder="开始月份" end-placeholder="结束月份"></el-date-picker>
// methods中定义方法
// 月份选择日期处理
changeMonth(value){
// monthrange 月份选择器 点选某一月后,返回: ['起始时间','结束时间']
let endDay = new Date(value.toString().split(",")[1]) // 获取时间选择器的结束日
// 判断是否为当前月 当前月就传当前所选择日期
if (endDay.getMonth() + 1 === new Date().getMonth() + 1) {
this.monthDate[1] = getDay(0);
console.log(this.monthDate);
// 非当前月传 所选月的最后一天
} else {
let currTime = 24 * 60 * 60 * 1000; //获取一天时间戳
let Year1 = endDay.getFullYear(); //获取结束年
let Month1 = endDay.getMonth()+2; //获取结束月 这里+2是获取月份时候少一月
let nowDate = new Date(''+Year1+'/'+Month1) //运用年和月转换回+2月的日期
let nowTime = new Date (nowDate.getTime()-currTime); //获取到当前时间
// 将取到的时间进行拼接
let seperator1 = "-"
let year = nowTime.getFullYear()
let month = nowTime.getMonth() + 1
let strDate = nowTime.getDate()
if (month >= 1 && month <= 9) {
month = "0" + month
}
// 日期补‘0’
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
// 日期拼接
this.monthDate[1] = year + seperator1 + month + seperator1 + strDate;
console.log(this.monthDate);
}
},
以上便是对 elementUI月份选择器,如何获取所选择月份的最后一天 代码展示