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

新手上路,请多包涵

我有两次没有约会

var startTime="12:16:59 am";
var endTime="06:12:07 pm";

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

如果在 moment.js 中不可能,请使用 javascript 让我知道。

输入:

 var startTime="01:30:00 am";
var endTime="2:45:07 pm";

预期输出:

 1 hour and 15 minutes

原文由 Ramesh Rajendran 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 330
2 个回答

获取时间

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

endTime.diff(startTime, 'hours')

获取会议记录

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

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

}

原文由 Ramesh Rajendran 发布,翻译遵循 CC BY-SA 4.0 许可协议

试试下面的代码

// 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.');

在这里检查小提琴 - https://jsfiddle.net/nil4you/gs69Lv5x/

原文由 nirmal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题