I have two time without date
var startTime=\"12:16:59 am\";
var endTime=\"06:12:07 pm\";
I want to show the total hours in between the abov
This worked for me; the best solution so far
function calculateTimeDifference() {
var date1 = new Date();
var date2 = new Date();
var diff = date2.getTime() - date1.getTime();
var msec = diff;
var hh = `0${Math.floor(msec / 1000 / 60 / 60)}`;
msec -= hh * 1000 * 60 * 60;
var mm = `0${Math.floor(msec / 1000 / 60)}`;
msec -= mm * 1000 * 60;
var ss = `0${Math.floor(msec / 1000)}`;
msec -= ss * 1000;
return hh.slice(-2) + ":" + mm.slice(-2) + ":" + ss.slice(-2);
}
myStart = "01:30:00 am";
myEnd = "2:45:07 am";
function getTimeDiff(start, end) {
return moment.duration(moment(end, "HH:mm:ss a").diff(moment(start, "HH:mm:ss a")));
}
diff = getTimeDiff(myStart, myEnd)
console.log(`${diff.hours()} Hour ${diff.minutes()} minutes`);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
var startTime = moment("12:16:59 am", 'hh:mm:ss a');
var endTime = moment("06:12:07 pm", 'hh:mm:ss a');
endTime.diff(startTime, 'hours');
var startTime = moment("12:16:59 am", 'hh:mm:ss a');
var endTime = moment("06:12:07 pm", 'hh:mm:ss a');
var totalHours = (endTime.diff(startTime, 'hours'));
var totalMinutes = endTime.diff(startTime, 'minutes');
var clearMinutes = totalMinutes % 60;
console.log(totalHours + " hours and " + clearMinutes + " minutes");
var startTime = moment("12:16:59");
var endTime = moment("06:12:07");
var duration = moment.duration(endTime.diff(startTime));
var hours = duration.asHours();