使用moment.js计算经过的时间

Using moment.js to calculate elapsed time?

本文关键字:时间 经过 计算 moment js 使用      更新时间:2023-09-26
  var currentTimeArray = [];
  function currentTime(){
    var time = moment();
    return currentTimeArray.push(time);
  }
  $('.next-fieldgroup').on('click', function(e){
    e.preventDefault();
    currentTime();
    var endTime = $(currentTimeArray).last();
    var startTime = currentTimeArray[0];
    var duration = moment.duration(endTime.diff(startTime));
    var elapsedTime = duration().asMinutes();
    $('#timer-counter').text( elapsedTime );
  });

它应该做什么…

  1. on click store NOW time in to ARRAY
  2. 点击比较arr[0]与arr.last()获得时间经过时间
  3. 用经过时间(分钟)更新div

我希望输出像:

"时间经过:12分钟"

我得到以下错误:

Uncaught TypeError: undefined is not a function

jQuery方法返回用jQuery包装的对象,因此您的endTime是一个jQuery包装的时刻对象。并且jQuery没有.diff方法,因此出现了错误。使用.get(0)[0]得到实际力矩对象

var endTime = $(currentTimeArray).last().get(0);