import { DatePicker } from 'antd';
import moment from 'moment';
function disabledDate(current) {
// 获取当前日期时间的秒级时间戳
const currentDateTimeStamp = moment().unix();
// 将选择的日期转换为秒级时间戳,并与当前日期时间比较
return current && current.unix() > currentDateTimeStamp;
}
function disabledTime(current) {
// 判断日期是否是今天
if (current&¤t.isSame(moment(), 'day')) {
const currentTime = moment();
const currentHour = currentTime.hour();
const currentMinute = currentTime.minute();
const currentSecond = currentTime.second();
return {
disabledHours: () => range(currentHour+1, 24),
disabledMinutes: hour => (hour === currentHour ? range(currentMinute+1, 60) : []),
disabledSeconds: (hour, minute) => (hour === currentHour && minute === currentMinute ? range(currentSecond+1, 60) : [])
};
}
// 如果不是当前日期,则不对时间进行限制
return {};
}
// 生成从start到end的整数数组(包含start和end)
function range(start, end) {
const result = [];
for (let i = start; i < end; i++) {
result.push(i);
}
return result;
}
function App() {
return (
<DatePicker
showTime={{ format: 'HH:mm:ss' }}
format="YYYY-MM-DD HH:mm:ss"
disabledDate={disabledDate}
disabledTime={disabledTime}
/>
);
}
Antd DatePicker限制只能选择当前时间之前的日期和时间
最新推荐文章于 2024-08-15 11:54:21 发布