js判断日期在区间内

2020-03-11  本文已影响0人  舒小妮儿

对于日期时间的比较,可以将给定的区间起止日期、待查询的日期字符串按统一的日期格式转成date对象,再进行比较,如果涉及到具体时间(时分秒),也是适用的。当然也可以在日期基础判断后,对相同日期的时间作进一步的比较,比如转成具体的秒数、或者依次比较时分秒也都是可行的,实现方案很多。

下面就给出我比较倾向的一种方法:

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("查询日期在给定日期范围内")
        return true
    }else {
        console.log("查询日期不在给定日期范围内")
        return false
    }
}
上一篇 下一篇

猜你喜欢

热点阅读