1、JS获取当前日期的前7天的日期
const dateList = [...Array(7).keys()].map(days => {
let t = new Date(Date.now() - 86400000 * days);
let str = `${t.getFullYear()}年${t.getMonth() + 1}月${t.getDate()}日`;
console.log('aa', str ); return str;
console.log(dateList);
2、JS获取截止当天以前的近一个月日期
mounted () {
// 获取今天之前的一个月日期
const dateListList = [...Array(30).keys()].map((days) => {
var lastMonthToday = new Date(Date.now() - 86400000 * days)
var lastMonthYear = lastMonthToday.getFullYear();//年
//getMonth()的返回值是 0(一月)到 11(十二月),返回的是索引值而且是从0开始的,所以要加1!
var lastMonth = (lastMonthToday.getMonth() + 1)<10?"0"+(lastMonthToday.getMonth() + 1):lastMonthToday.getMonth() + 1 //月
//防止日期小于10的时候传的格式有误,所以判断是否小于10,小于10就前面加0,否则正常取值
var lastMonthDay = lastMonthToday.getDate() < 10 ? "0" + lastMonthToday.getDate() : lastMonthToday.getDate(); //日
//年月日拼接
var lastMonthKsrq = lastMonthYear + "-" + lastMonth + "-" + lastMonthDay;
console.log('每一天',lastMonthKsrq)
return lastMonthKsrq;
3、JS判断开始时间不能大于当天日期,结束时间大于开始时间并且不能大于当天日期
1、html中代码如下:
<el-form-item label="选择日期">
<el-date-picker v-model="formInline.startTime" type="date"
placeholder="开始日期" :picker-options="pickerStartTime">
</el-date-picker>
<el-date-picker v-model="formInline.endTime" type="date"
placeholder="结束日期" :picker-options="pickerEndTime">
</el-date-picker>
</el-form-item>
2、data里定义:
data(){
let self = this
return {
pickerStartTime: {
disabledDate(time) {
//如果结束时间不为空,开始时间小于等于结束时间并且不能大于当天日期
if (self.formInline.endTime) {
return (
time.getTime() > Date.now() - 8.64e6 ||
time.getTime() > new Date(self.formInline.endTime).getTime()
} else {
//开始时间不选时,结束时间最大值小于等于当天
return time.getTime() > Date.now();
pickerEndTime: {
//结束时间只能选择大于等于开始时间并且不能大于当天日期
disabledDate(time) {
return (
time.getTime() > Date.now() - 8.64e6 ||
//8.64e7=1000*60*60*24一天
time.getTime() < new Date(self.formInline.startTime)
4、JS判断开始时间不能大于当天日期,结束时间大于开始时间并且不能大于当天日期并且区域在一个月内
<el-form-item label="时间区间" class="date_qujian">
<el-date-picker
v-model="formInline.dateTime"
@change="timeOptionsTime"
style="width: 330px"
type="daterange"
size="mini"
range-separator="-"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
:picker-options="pickerOptions"
></el-date-picker>
</el-form-item>
data的return里
pickerOptions: {
// 设置不能选择的日期
onPick: ({ maxDate, minDate }) => {
this.choiceDate0 = minDate.getTime();
if (maxDate) {
this.choiceDate0 = '';
disabledDate:
(time) => {
let choiceDateTime = new Date(this.choiceDate0).getTime();
const minTime = new Date(choiceDateTime).setMonth(new Date(choiceDateTime).getMonth() - 1);
const maxTime = new Date(choiceDateTime).setMonth(new Date(choiceDateTime).getMonth() + 1);
const min = minTime; const newDate = new Date(new Date().toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1;
const max = newDate < maxTime ? newDate : maxTime;
//如果已经选中一个日期 则 返回 该日期前后一个月时间可选
if (this.choiceDate0) {
return time.getTime() < min || time.getTime() > max;
//若一个日期也没选中 则 返回 当前日期以前日期可选
return time.getTime() > newDate;
复制代码