antdvUI组件库中的a-date-picker - disabledDate不可选择时间的个性化出来-案例

// 限制日期不可选
disabledDate(current) {
	// Can not select days before today and today
	// 只能选择当前日期的两个月范围内
	// return current && (current > moment().endOf('day') || current <  moment().subtract(2, 'months'));

	// 只能选择当前日期的前后一个月范围
	// return current && (current >  moment().add(1, 'months') || current <  moment().subtract(1, 'months'));
	// return current && current < moment().endOf('day') //当天之前的不可选,包括当天
	// return current && current < moment().subtract(1, 'day') //当天之前的不可选,不包括当天
	// return current > moment() // 大于当前日期不能选
	// return current < moment().subtract(1, 'days') // 小于当前日期不能选
	return current < moment().subtract(7, 'days') || current > moment().add(7, 'd') // 只能选前7后7
},

// 限制时间不可选
disabledDateTime() {
  return {
	disabledHours: () => this.range(0, 24).splice(4, 20),
	disabledMinutes: () => this.range(30, 60),
	disabledSeconds: () => [55, 56],
  }
},

// 复杂版
disabledDateTime = (dates,partial) => {
	let hours = moment().hours();//0~23
	let minutes = moment().minutes();//0~59
	let seconds = moment().seconds();//0~59
	//当日只能选择当前时间之后的时间点
	if (dates&&moment(dates[1]).date() === moment().date()&&partial=='end') {
	  return {
		disabledHours: () => this.range(hours+1,23),
		disabledMinutes: () => this.range(minutes+1,59),
		disabledSeconds: () => this.range(seconds+1,59),
	  };
	}
}

moment.js 

moment常用方法:
moment().endOf('day') // 今天的23:59:59.999
moment().endOf('year') // 今年的 12 月 31 日 23:59:59.999,还可以填month,week,hour等

moment().add(1, 'months') // 当前月份加一月,如今天2021-05-25,得到就是2021-06-25
moment().add(1, 'year') // 当前年加一年,如今天2021-05-25,得到就是2022-05-25
moment().subtract(1, 'months') // 当前月份减一月,如今天2021-05-25,得到就是2021-04-25
moment().subtract(1, 'year') // 当前年减一年,如今天2021-05-25,得到就是2020-05-25

var a = moment('2021-05-18');
var b = moment('2020-04-16');
a.diff(b, 'years') // 1,b-a的年份
a.diff(b, 'days') // 2,b-a的日期

moment().date() // 25今天的日期
moment().day() // 2 今天是星期几
moment().year() // 2021 今年的年份
moment().year(2022) // 2022-05-25 设置年份为2022

案例 

current < moment().subtract(7, 'days') || current > moment().add(7, 'd') // 只能选前7后7

current < moment().subtract(1, 'days') // 小于当前日期不能选

current > moment() // 大于当前日期不能选

current && current < moment().subtract(1, 'day') //当天之前的不可选,不包括当天

 

current && current < moment().endOf('day') //当天之前的不可选,包括当天

posted @ 2021-12-22 08:30  JackieDYH  阅读(101)  评论(0编辑  收藏  举报  来源