使用 MomentJS 更新相对时间

Update relative time with MomentJS

我想创建一个对象,其键设置为单击按钮的时间。然后我想每秒检查当前时间与创建时间和 console.log() 相对时间。问题是它永远不会从 'A few seconds ago' 改变。我错过了什么?

Codepen 实时示例: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);
})();

你保存的不是瞬间,而是字符串。

如果你想继续使用那个字符串,你必须解析它:

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

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