How to calculate date difference in JavaScript?

前端 未结 18 2110
执笔经年
执笔经年 2020-11-22 03:41

I want to calculate date difference in days, hours, minutes, seconds, milliseconds, nanoseconds. How can I do it?

18条回答
  •  佛祖请我去吃肉
    2020-11-22 04:11

    var d1=new Date(2011,0,1); // jan,1 2011
    var d2=new Date(); // now
    
    var diff=d2-d1,sign=diff<0?-1:1,milliseconds,seconds,minutes,hours,days;
    diff/=sign; // or diff=Math.abs(diff);
    diff=(diff-(milliseconds=diff%1000))/1000;
    diff=(diff-(seconds=diff%60))/60;
    diff=(diff-(minutes=diff%60))/60;
    days=(diff-(hours=diff%24))/24;
    
    console.info(sign===1?"Elapsed: ":"Remains: ",
                 days+" days, ",
                 hours+" hours, ",
                 minutes+" minutes, ",
                 seconds+" seconds, ",
                 milliseconds+" milliseconds.");
    

提交回复
热议问题