如何使用时间前的javascript在几分钟后更改为小时然后像Facebook一样的一天?



(function timeAgo(selector) {
console.clear();
var dt1 = new Date("2019-12-17 13:12:34");
var dt2 = new Date();
var diff = (dt2.getTime() - dt1.getTime());
var hours = Math.floor(diff / (1000 * 60 * 60));
diff -= hours * (1000 * 60 * 60);
var mins = Math.floor(diff / (1000 * 60));
diff -= mins * (1000 * 60);
document.getElementById("demo").innerHTML = mins + 'minutes ago';
setTimeout(timeAgo, 60000);
})();
<span id="demo" />

Use moment.js。

moment("20111031", "YYYYMMDD").fromNow()
// 8 years ago

时刻.js很棒,您可以使用它,但如果您正在寻找纯 JS 解决方案:

(function getTimeDiff() {
let datetime = new Date("2016-04-18 01:07:23.132446").getTime();
let now = new Date().getTime();
let milisecDiff = (datetime < now) ? now - datetime : datetime - now;
let days = Math.floor(milisecDiff / 1000 / 60 / (60 * 24));
let dateDiff = new Date(milisecDiff);
console.log(`${days} Days ${dateDiff.getHours()} Hours ${dateDiff.getMinutes()} Minutes ${dateDiff.getSeconds()} Seconds`);
})();

您可以进一步格式化输出以服务于您的使用案例。

相关内容

最新更新