需求:设置默认的时间,使用属性defaultValue的时候发现会显示当前的时间整点,需要设置一个时间为当前的时间前五分钟的数据为默认值; 最后发现,只是单纯的设置defaultValue是有问题的,需要value和defaultValue搭配使用
startTimes是获取的当前时间之前的五分钟时间,endTime是当前的时间,DateFormat是日期格式
const DateFormat = 'YYYY-MM-DD HH:mm:ss';
<Form.Item label="选择日期:">
<RangePicker
defaultValue={[moment(startTime), moment(endTime)]}
value={[moment(startTime, DateFormat), moment(endTime, DateFormat)]}
showTime
format={DateFormat}
key={this.state.keyValue}
onChange={this.test}
/>
</Form.Item>
//获取当前时间的前五分钟
getNowFormatDate = () => {
var date = new Date();
var seperator1 = '-';
var seperator2 = ':';
//前十分钟时间
var minutes = parseInt('5');
var interTimes = minutes * 60 * 1000;
var interTimes = parseInt(interTimes);
date = new Date(Date.parse(date) - interTimes);
var month = date.getMonth() + 1;
var strDate = date.getDate();
var hour = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = '0' + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate;
}
if (hour >= 0 && hour <= 9) {
hour = '0' + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = '0' + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = '0' + seconds;
}
var currentdate =
date.getFullYear() +
seperator1 +
month +
seperator1 +
strDate +
' ' +
hour +
seperator2 +
minutes +
seperator2 +
seconds;
return currentdate;
};
//获取当前时间
getNowTimeFormatDate = () => {
var date = new Date();
date.setMinutes(3);
var seperator1 = '-';
var seperator2 = ':';
//前十分钟时间
var interTimes = minutes * 60 * 1000;
var interTimes = parseInt(interTimes);
date = new Date();
var month = date.getMonth() + 1;
var strDate = date.getDate();
var hour = date.getHours();
var minutes = date.getMinutes();
var seconds = date.getSeconds();
if (month >= 1 && month <= 9) {
month = '0' + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = '0' + strDate;
}
if (hour >= 0 && hour <= 9) {
hour = '0' + hour;
}
if (minutes >= 0 && minutes <= 9) {
minutes = '0' + minutes;
}
if (seconds >= 0 && seconds <= 9) {
seconds = '0' + seconds;
}
var currentdate =
date.getFullYear() +
seperator1 +
month +
seperator1 +
strDate +
' ' +
hour +
seperator2 +
minutes +
seperator2 +
seconds;
return currentdate;
};
复制代码
最后结果如图;