我有此日期和时间格式2016-03-07 15:13:49。我想将其显示为1分钟前,1小时前或1年前,具体取决于从现在开始的日期。

最佳答案

您需要将日期格式转换为js date对象,然后可以从this答案使用timeSince函数



var date = new Date('2016-03-07T15:13:49')

document.write("js date: " + date + "<br><br>");
document.write("timesince: ");

document.write(timeSince(date));

function timeSince(date) {

    var seconds = Math.floor((new Date() - date) / 1000);

    var interval = Math.floor(seconds / 31536000);

    if (interval > 1) {
        return interval + " years";
    }
    interval = Math.floor(seconds / 2592000);
    if (interval > 1) {
        return interval + " months";
    }
    interval = Math.floor(seconds / 86400);
    if (interval > 1) {
        return interval + " days";
    }
    interval = Math.floor(seconds / 3600);
    if (interval > 1) {
        return interval + " hours";
    }
    interval = Math.floor(seconds / 60);
    if (interval > 1) {
        return interval + " minutes";
    }
    return Math.floor(seconds) + " seconds";
}

09-17 16:36
查看更多