之前去今日头条面试,有一道题是手写一个方法来计算计算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}秒`)
}
}