如何判断两个日期区间是否重叠

  • Post author:
  • Post category:其他


问题:

假设有两个日期区间(StartDate, EndDate),其中,日期区间的开始时间与结束时间均可以为空。如果开始时间为空,则表示接近无限小;如果结束时间为空,则表示接近无线大。如何判断这两个日期区间是否发生重叠?

JS实现:

var a = {
    startDate : '',
    endDate : ''
}
var b = {
    startDate : '',
    endDate : ''
}

function isOverlapDate(dateRange_a, dateRange_b) {
    var a_startDate = dateRange_a.startDate == '' ? null : new Date(dateRange_a.startDate);
    var a_endDate = dateRange_a.endDate == '' ? null : new Date(dateRange_a.endDate);
    var b_startDate = dateRange_b.startDate == '' ? null : new Date(dateRange_b.startDate);
    var b_endDate = dateRange_b.endDate == '' ? null : new Date(dateRange_b.endDate);
    
    // A或者B的Start Date和End Date都为null,意味着A和B的日期接近无限小到无限大,则总会



版权声明:本文为shuaikai1234原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。