使用 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
我想创建一个对象,其键设置为单击按钮的时间。然后我想每秒检查当前时间与创建时间和 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