js计算两个时间相差的年、月、日、时、分、秒。

           

 /* 时间格式:2016-8-31 10:35:00 或 2016/8/31 10:35:00 */

var dateObj=dayCha('2016-8-31 10:35:00','2019-8-31')//执行方法,参数为时间,第二个时间未填默认为当前时间。
var dateStr=dateObj.day+'天'+dateObj.hour+'时'+dateObj.minute+'分'+dateObj.second+'秒'
var dataStr1=dateObj.yYear+'年'+dateObj.yDay+'天'+dateObj.hour+'时'+dateObj.minute+'分'+dateObj.second+'秒'
console.log(dateObj,dateStr,dataStr1)


            
           function dayCha(time,twoTime){
                time = time.replace(new RegExp("-","gm"),"/");
                var timeMiao=new Date(time).getTime()
                var year=new Date(time).getFullYear()
                var month=new Date(time).getMonth()+1; 
                var date=new Date(time).getDate(); 
                if(twoTime){
                    twoTime =twoTime.replace(new RegExp("-","gm"),"/");
                    var thatYear=new Date(twoTime).getFullYear();
                    var thatTimeMiao=new Date(twoTime).getTime()
                }
                    
                else{
                    var thatYear=new Date().getFullYear();
                    var thatTimeMiao=new Date().getTime();    
                }
                var chaTime=thatTimeMiao-timeMiao;
                var day=parseInt(chaTime/86400000)
                var yu=chaTime % 86400000
                var hour=parseInt(yu/3600000)
                var yuH=yu % 3600000
                var min=parseInt(yuH/60000)
                var yuM=yuH%60000
                var sec=parseInt(yuM/1000)
                var yYear=0
                var yDay=0;
                for(let x=0;x<=thatYear-year;x++){
                    var fYear=year+x
                    var fTime=new Date(''+fYear+'/'+month+'/'+date+'').getTime();
                    var fDay=parseInt((fTime-timeMiao)/86400000)
                    if(fDay>0 && fDay<=day){
                        yYear=yYear+1;
                        yDay=day-fDay
                    }
                }
                return {yYear:yYear,yDay:yDay,day:day,hour:hour,minute:min,second:sec}
            }
         

你可能感兴趣的:(js)