之前去今日头条面试,有一道题是手写一个方法来计算计算2个时间的时间差,现在有空就手写下,以防以后忘了,没什么好说的,大家直接看代码吧

window.onload = function(){
    var cuo = sub('2017-06-07 13:18:34','2017-09-07 13:18:34')
} 
function sub(time1,time2){
    var date1 = Date.parse(time1)
    var date2 = Date.parse(time2)
    var diff = Math.abs(date1-date2)/1000
    debugger
    if(diff<30*60){
        console.log('半小时之内')
        var min = parseInt(diff/60)
        var second = diff%(60)
        console.log(`相差${min}分${second}秒`)
    }else if(diff < 24*60*60){
        console.log('1天之内')
        var hour = parseInt(diff/(60*60))
        var min = parseInt((diff-hour*60*60)/60)
        var second = (diff-hour*60*60)%60
        console.log(`相差${hour}小时${min}分${second}秒`)
    }else if(diff < 30*24*60*60){
        console.log('1个月之内')
        var day = parseInt(diff/(24*60*60))
        var hour = parseInt((diff-day*24*60*60)/(60*60))
        var min = parseInt((diff-day*24*60*60-hour*60*60)/60)
        var second = parseInt((diff-day*24*60*60-hour*60*60)%60)
        console.log(`相差${day}天${hour}小时${min}分${second}秒`)
    }else{
        console.log('1个月之后')
        var day = parseInt(diff/(24*60*60))
        var hour = parseInt((diff-day*24*60*60)/(60*60))
        var min = parseInt((diff-day*24*60*60-hour*60*60)/60)
        var second = parseInt((diff-day*24*60*60-hour*60*60)%60)
        console.log(`相差${day}天${hour}小时${min}分${second}秒`)
    }
}
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄