SOURCE

let res = [];

let mc = '2012-05-01'//毕业日期
let sc = '2020-08-01'//入职日期

let b1 = ['2015-01-28', '2017-12-31']
let c2 = ['2018-01-07', '2020-09-01']


let d3 = ['2011-01-07', '2012-05-01']
let e4 = ['2012-05-01', '2015-02-21']
let mstr = [b1, c2, d3, e4];
for (let i = 0; i < mstr.length; i++) {
    //任职结束日期不能晚于入职日期
    if(mstr[i][1] > sc){
        console.log('任职结束日期不能晚于入职日期');
    }else{
    console.log(mstr[i]);
    //毕业日期与入职日期之前的工作经历
    if (mstr[i][0] >= mc && mstr[i][1] > mc) {//开始和结束都大于毕业日期
        res.push(mstr[i])
    } else if (mstr[i][0] < mc && mstr[i][1] > mc) {//开始<毕业,结束>毕业
        res.push([mc, mstr[i][1]])
    }
    }
}

console.log('-----------------------')
res.sort();

for (let i = 0; i < res.length; i++) {
    console.log(res[i])
}
console.log('-----------------------')
let gzrq = res[0][0]
for (let i = 0; i < res.length; i++) {
    let first = Date.parse(res[i][1])
    let seccend = ''
    if (i == res.length - 1) {//最后一个与入职日期比较
        seccend = Date.parse(sc)
    } else {//其他结束与开始日期比较
        seccend = Date.parse(res[i+1][0])
    }
    let diffDay = (seccend - first) / (1*24*60*60*1000)
    console.log('上一段与下一段工作相差天数:'+diffDay)
    if(diffDay > 180){
        console.log('断档了半年')
        break
    }
}
console.log('参加工作日期:'+gzrq)







console 命令行工具 X clear

                    
>
console