使用MomentJS更新相对时间

时间:2015-05-05 19:30:03

标签: javascript time momentjs

我想创建一个对象,其中键设置为单击按钮的时间。然后我想检查当前时间与创建时间的每一秒和console.log()相对时间。问题是它从未在几秒钟之前发生变化。我错过了什么?

Codepen Live示例:http://codepen.io/colealanroberts/pen/VLvpzR/?editors=001

这是我到目前为止所拥有的:

(function() {
  // HTML Elements
  var $btn = document.getElementById('save');
  var $relTime = document.getElementById('relative-time');  

  var tObj = {};
  var now = moment();
  var t = now.format("dddd, MMMM Do YYYY, h:mm:ss a");

  function saveObj() {
      tObj = {
        timeClicked: t
  }
  // Log initial time
  console.log(tObj.timeClicked);

  setInterval(function() {
      var rel = moment([tObj.timeClicked]).fromNow(true);
      console.log(rel);
  }, 1000);
 }

  $btn.addEventListener('click', saveObj);
})();

1 个答案:

答案 0 :(得分:1)

你不是保存片刻而是字符串。

如果要继续使用该字符串,则必须解析它:

var rel = moment(tObj.timeClicked,["dddd, MMMM Do YYYY, h:mm:ss a"]).fromNow(true);

当然,存储时刻本身会更简单:http://codepen.io/anon/pen/qdOjqr