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

Javascript 使用moment.js计算经过的时间?,javascript,jquery,momentjs,Javascript,Jquery,Momentjs,它应该做什么 单击“立即存储到阵列中的时间” 单击将arr[0]与arr.last()进行比较,以获取经过的时间 使用已用时间(分钟)更新div 我希望输出像: “经过的时间:12分钟” 我得到以下错误: 未捕获类型错误:未定义不是函数 jQuery方法返回jQuery中包装的对象,因此您的endTime是一个jQuery包装的矩对象。jQuery没有.diff方法,因此会出现错误。使用.get(0)或[0]获取实际力矩对象 var currentTimeArray = []; func

它应该做什么

  • 单击“立即存储到阵列中的时间”
  • 单击将arr[0]与arr.last()进行比较,以获取经过的时间
  • 使用已用时间(分钟)更新div
  • 我希望输出像:

    “经过的时间:12分钟”

    我得到以下错误:

    未捕获类型错误:未定义不是函数


    jQuery方法返回jQuery中包装的对象,因此您的
    endTime
    是一个jQuery包装的矩对象。jQuery没有
    .diff
    方法,因此会出现错误。使用
    .get(0)
    [0]
    获取实际力矩对象

      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 );
      });
    

    错误的哪一行表示原因?@pat
    var duration=moment.duration(endTime.diff(startTime))
    此行和--fps无差异实际上
    get(0)
    导致对象返回未定义。如果我这样做:
    var endTime=$(currentTimeArray).last()[0][''d']
    我得到了实际的日期时间字符串:“Tue Aug 19 2014 19:31:36 GMT-0400(EDT)”,然后使用
    .last()[0]
    ,但它应该做与相同的事情。get(0)我仍然得到这种类型的错误:
    var duration=moment(duration(endTime.diff(startTime))错误未定义不是函数---为什么?我要经过两个有效时间,是吗?我可以用控制台记录这两个事件,它们会显示…
    moment(持续时间)(
    这是打字错误吗?应该是
    moment.duration(
    var endTime = $(currentTimeArray).last().get(0);