我在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的新手,任何人都可以帮助我。
答案 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));