Calculate duration between two date times in javascript

datetime, javascript

Solution

Try this :

        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth()+1; //January is 0!

        var yyyy = today.getFullYear();
        if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = dd+'/'+mm+'/'+yyyy;  //Current Date

        var valuestart ="8:00 AM";
        var valuestop = "4:00 PM";//$("select[name='timestop']").val();

        //create date format  
        var timeStart = new Date(today + " " + valuestart).getHours();
        var timeEnd = new Date(today + " " + valuestop).getHours();

        var hourDiff = timeEnd - timeStart;  
        alert("duration:"+hourDiff);

Problem

I need to calculate the duration between two datetimes in JavaScript. I have tried this code: ``` var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1; //January is 0! var yyyy = today.getFullYear(); if(dd<10){dd='0'+dd} if(mm<10){mm='0'+mm} today = mm+'/'+dd+'/'+yyyy; //Current Date console.log("current date"+today); var valuestart ="8:00 AM"; var valuestop = "4:00 PM";//$("select[name='timestop']").val(); //create date format var timeStart = new Date("01/01/2007 " + valuestart).getHours(); var timeEnd = new Date("01/01/2007 " + valuestop).getHours(); var hourDiff = timeEnd - timeStart; console.log("duration"+hourDiff); ``` From this, I am able to get Current Date and duration. But when I replace the date "01/01/2007" with the variable "today", I am getting the result as NaN. Please guide me in where I am wrong. Thanks in advance.

Original source

Related problems