将日期时间转换为“经过时间”直到现在

Converting datetime to "passed time" till current time

本文关键字:时间 经过时间 经过 直到现在 日期 转换      更新时间:2023-09-26

我在mysql中有一个日期字段,在以下时间段有datetime:

2014-05-31 15:00:55

我想将这个值转换为"经过的时间"直到当前时间。

例如

,如果两个小时过去了,直到节省时间,那么我想要这样做:

two hours ago

如果三天过去了,那么应该是:

three days ago

我试图用php显示如下输出:

<?php
echo '<p align="right">';
echo $row2['date'] ;
echo '</p>';
?>

我是PHP新手,有人能帮我吗

你可以尝试这样做:

function timeDiff(current, previous) {
    var msPerMin = 60 * 1000;
    var msPerHr = msPerMin * 60;
    var msPerDay = msPerHr * 24;
    var msPerMonth = msPerDay * 30;
    var msPerYear = msPerDay * 365;
    var elapsed = current - previous;
    if (elapsed < msPerMin) {
         return Math.round(elapsed / 1000) + ' seconds ago';   
    }
    else if (elapsed < msPerHr) {
         return Math.round(elapsed / msPerMin) + ' minutes ago';   
    }
    else if (elapsed < msPerDay ) {
         return Math.round(elapsed / msPerHr ) + ' hours ago';   
    }
    else if (elapsed < msPerMonth) {
        return 'approximately ' + Math.round(elapsed / msPerDay) + ' days ago';   
    }
    else if (elapsed < msPerYear) {
        return 'approximately ' + Math.round(elapsed / msPerMonth) + ' months ago';   
    }
    else {
        return 'approximately ' + Math.round(elapsed / msPerYear ) + ' years ago';   
    }
}

来源:Javascript时间戳相对时间(如2秒前,一周前等),最好的方法?


你可以这样实现它:

var now = new Date();
var someDate = new Date(2011, 04, 24, 12, 30, 00, 00);
alert(timeDiff(now, someDate));

小提琴。