對(duì)于日期時(shí)間的比較,可以將給定的區(qū)間起止日期、待查詢的日期字符串按統(tǒng)一的日期格式轉(zhuǎn)成date對(duì)象,再進(jìn)行比較,如果涉及到具體時(shí)間(時(shí)分秒),也是適用的。當(dāng)然也可以在日期基礎(chǔ)判斷后,對(duì)相同日期的時(shí)間作進(jìn)一步的比較,比如轉(zhuǎn)成具體的秒數(shù)、或者依次比較時(shí)分秒也都是可行的,實(shí)現(xiàn)方案很多。
下面就給出我比較傾向的一種方法:
transformDate: function(dateStr) {
if (dateStr.indexOf("-") > -1) {
return new Date(dateStr.replace(/\-/g, "\/"))
}
if (dateStr.indexOf("/") > -1) {
return new Date(dateStr.replace(/\//g, "\/"))
}
if (dateStr.indexOf(".") > -1) {
return new Date(dateStr.replace(/\./g, "\/"))
}
}
checkDateInFixedDates: function(startDate, endDate, checkDate) {
if (startDate == "" || endDate == "" || checkDate == "") {
console.log("起止日期和檢查日期均不可為空")
return
}
const ds = transformDate(startDate)
const de = transformDate(endDate)
const dc = transformDate(checkDate)
if (dc >= ds && dc >= de) {
console.log("查詢?nèi)掌谠诮o定日期范圍內(nèi)")
return true
}else {
console.log("查詢?nèi)掌诓辉诮o定日期范圍內(nèi)")
return false
}
}