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 above times by using moment.js.
If it's not possible in moment.js then please let me know using by javascript.
Inputs:
var startTime="01:30:00 am";
var endTime="2:45:07 pm";
Expected Output:
1 hour and 15 minutes
Try code below
// start time and end time
var startTime = moment('12:16:59 am', 'HH:mm:ss a');
var endTime = moment('06:12:07 pm', 'HH:mm:ss a');
// calculate total duration
var duration = moment.duration(endTime.diff(startTime));
// duration in hours
var hours = parseInt(duration.asHours());
// duration in minutes
var minutes = parseInt(duration.asMinutes()) % 60;
alert(hours + ' hour and ' + minutes + ' minutes.');
Check fiddle here - https://jsfiddle.net/nil4you/gs69Lv5x/
I got the hours by using this code
endTime.diff(startTime, 'hours')
i got the minutes by using this below code
var mins = moment.utc(moment(endTime, "HH:mm:ss").diff(moment(startTime, "HH:mm:ss"))).format("mm")
$scope.UpdateTimeSheet = function (rowEntity) {
if (rowEntity.StartTime.toString().length != 11) {
rowEntity.StartTime = moment(rowEntity.StartTime).format("hh:mm:ss a");
}
if (rowEntity.EndTime.toString().length != 11) {
rowEntity.EndTime = moment(rowEntity.EndTime).format("hh:mm:ss a");
}
var startTime = moment(rowEntity.StartTime, "hh:mm:ss a");
var endTime = moment(rowEntity.EndTime, "hh:mm:ss a");
var mins = moment.utc(moment(endTime, "HH:mm:ss").diff(moment(startTime, "HH:mm:ss"))).format("mm")
rowEntity.TotalHours = endTime.diff(startTime, 'hours') + " Hrs and " + mins + " Mns";
}
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');