介绍
使用js比较两个日期的时间大小,一般在前台选择时间时常常使用。比如:结束时间不能小于开始时间,开始时间不能小于当前时间等。
代码示例
示例一:开始时间不能小于当前时间
js
//开始时间
var startTime = '2024-04-22'
//当前时间
var currentDate = new Date();
var currentDateStr = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate();
if (new Date(currentDateStr).getTime() > new Date(startTime).getTime()) {
alert('开始时间不能小于当前时间')
}
示例二:结束时间不能小于开始时间
js
var startTime = '2024-04-22'
var endTime = '2024-04-21'
if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
alert('结束时间不能小于开始时间')
}
正式环境中时间的判断流程
首先判断开始、结束时间是否为空,不为空再判断结束时间是否小于开始时间
js
var startTime = $("#startTime").val()
var endTime = $("#endTime").val()
if(isEmpty(startTime)){
initError('生效时间不能为空',$('#startTime').next());
flag = false;
}
if(isEmpty(endTime)){
initError('失效时间不能为空',$('#endTime').next());
flag = false;
}
if(!isEmpty(startTime)&&!isEmpty(endTime)) {
var currentDate = new Date();
var currentDateStr = currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate();
if (new Date(currentDateStr).getTime() > new Date(startTime).getTime()) {
initError('生效时间不能小于当前时间', $('#startTime').next());
flag = false;
}else{
if (new Date(startTime).getTime() > new Date(endTime).getTime()) {
initError('生效时间不能大于失效时间', $('#startTime').next());
flag = false;
}
}
}