将日期时间转换为"通过时间"直到现在

时间:2014-06-01 06:56:18

标签: javascript php mysql

我在mysql中有一个日期字段,其中包含以下期间的日期时间:

2014-05-31 15:00:55

我想将此值转换为"传递时间"直到现在。

例如,如果两个小时过去直到保存的时间,那么我想要这样的东西:

two hours ago

如果三天过去直到节省的时间,则应该是:

three days ago

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

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

我是PHP的新手,任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情:

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 timestamp to relative time (eg 2 seconds ago, one week ago etc), best methods?


这是你实现它的方式:

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

Fiddle