在momentjs中两次(HH:MM:SS a)之间的小时差异

Ram*_*ran 22 javascript jquery angularjs momentjs

我有两次没有约会

var startTime="12:16:59 am";
var endTime="06:12:07 pm";
Run Code Online (Sandbox Code Playgroud)

我想通过使用来显示上述时间之间的总小时数 moment.js.

如果在moment.js那时不可能 请通过我告诉我javascript.

输入:

var startTime="01:30:00 am";
var endTime="2:45:07 pm";
Run Code Online (Sandbox Code Playgroud)

预期产出:

1 hour and 15 minutes
Run Code Online (Sandbox Code Playgroud)

nir*_*mal 34

尝试以下代码

// 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.');
Run Code Online (Sandbox Code Playgroud)

在这里查看小提琴 http://jsfiddle.net/nil4you/gs69Lv5x/


Ram*_*ran 17

获得时间

我通过使用此代码获得了时间

endTime.diff(startTime, 'hours')
Run Code Online (Sandbox Code Playgroud)

获得分钟

我使用下面的代码得到了会议记录

var mins = moment.utc(moment(endTime, "HH:mm:ss").diff(moment(startTime, "HH:mm:ss"))).format("mm")
Run Code Online (Sandbox Code Playgroud)

我的工作代码是

$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";

}
Run Code Online (Sandbox Code Playgroud)


Vig*_*thu 9

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');
Run Code Online (Sandbox Code Playgroud)


Man*_*mas 8

//Get start time and end time
var startTime = moment("12:16:59 am", "HH:mm:ss a"),
endTime = moment("06:12:07 pm", "HH:mm:ss a");
Run Code Online (Sandbox Code Playgroud)
  1. 方法一

var dif = moment.duration(endTime.diff(startTime));
console.log([dif.hours(), dif.minutes(), dif.seconds()].join(':'));
console.log('dif in Mins: ', (dif.hours() * 60) + dif.minutes());
Run Code Online (Sandbox Code Playgroud)
  1. 方法二

console.log('hrs: ', moment(endTime).diff(startTime, 'hours'));
console.log('dif in Mins: ', moment(endTime).diff(moment(startTime), 'minutes'));
Run Code Online (Sandbox Code Playgroud)
  1. 方法三

var hrs = moment.utc(endTime.diff(startTime)).format("HH");
var min = moment.utc(endTime.diff(startTime)).format("mm");
var sec = moment.utc(endTime.diff(startTime)).format("ss");
console.log([hrs, min, sec].join(':'));
Run Code Online (Sandbox Code Playgroud)
  1. 格式化输出

var dif = moment.duration(endTime.diff(startTime));
console.log(dif.humanize());
Run Code Online (Sandbox Code Playgroud)