//获取昨天时间
getYesterday() {
let day1 = new Date();
day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000);
return day1.getFullYear() + '-' + (day1.getMonth() + 1) + '-' + day1.getDate();
},
getYesterdayStemp() {
let day1 = new Date();
return day1.setTime(day1.getTime() - 24 * 60 * 60 * 1000);
},
// 获取选定周时间
getCurrentWeek(day) {
let week = [];
// 获取当前星期X(0-6,0代表星期天)
let index = new Date(day).getDay();
for (let i = 0; i < 7; i++) {
let tmp = new Date(day);
tmp.setDate(tmp.getDate() - index + i);
week.push({ Date: tmp });
}
return week;
},
//获取选定月份最后一天(即选定月份的天数)
getMonthMaxDay (year, month) {
let newYear = year;
let newMonth = month++
if (month > 12) {
newMonth -= 12; // 月份减
newYear++; // 年份增
}
let newDate = new Date(newYear, newMonth, 1); // 取当年当月中的第一天
return (new Date(newDate.getTime() - 1000 * 60 * 60 * 24)).getDate();// 获取当月最后一天日期
},
//获取系统当前时间
var nowdate = new Date();
var y = nowdate.getFullYear();
var m = nowdate.getMonth()+1;
var d = nowdate.getDate();
var formatnowdate = y+'-'+m+'-'+d;
$("#enddate").datebox("setValue",formatnowdate);
//获取系统前一周的时间
var oneweekdate = new Date(nowdate-7*24*3600*1000);
var y = oneweekdate.getFullYear();
var m = oneweekdate.getMonth()+1;
var d = oneweekdate.getDate();
var formatwdate = y+'-'+m+'-'+d;
$("#fdate").datebox("setValue",formatwdate);
//获取系统前一个月的时间
nowdate.setMonth(nowdate.getMonth()-1);
var y = nowdate.getFullYear();
var m = nowdate.getMonth()+1;
var d = nowdate.getDate();
var formatwdate = y+'-'+m+'-'+d;
$("#fdate").datebox("setValue",formatwdate);
根据以上函数对时间做处理
==html==
<a-date-picker @change="onChange" v-if="this.key !== '1'"/>
==js==
onChange(date, dateString) {
let nowDate = new Date()
if (this.value == 'day') {
if (date._d.getTime() < nowDate.getTime()) {
this.endTime = dateString
this.getChartData()
} else {
this.endTime = this.getYesterday()
this.getChartData()
}
} else if (this.value == 'week') {
let lastDay = this.getCurrentWeek(dateString)[6].Date.getTime()
if (lastDay < this.getYesterdayStemp()) {
this.endTime = moment(lastDay).format('YYYY-MM-DD')
this.getChartData()
} else {
this.endTime = this.getYesterday()
this.getChartData()
}
} else {
let year = dateString.split('-')[0]
let month = dateString.split('-')[1]
let dayTotal = this.getMonthMaxDay(year, month)
let lastDay = []
lastDay = lastDay.concat(Number(year), Number(month), dayTotal).join('-')
if (lastDay < this.getYesterday()) {
this.endTime = lastDay
this.getChartData()
} else {
this.endTime = this.getYesterday()
this.getChartData()
}
}
},