接分了!不过这个函数最好用JavaScript显示比较好,你把php时间差传递给用户浏览器然后使用JavaScript处理<script> var a=1238380049;//传递的unix时间戳 var d=new Date(a*1000); var c=new Date(); var remainTime =c-d; var hour=Math.floor(remainTime/1000/3600); var remainSecond = Math.floor(remainTime/1000/3600/24); var day=remainSecond;//几天前 document.write(hour+'小时前'); document.write(day+'天前'); </script>
function fomatmytime($time){
$now = gmmktime();
$diff = $now - $time;
$dayDiff = floor($diff / 86400); if(is_nan($dayDiff) || $dayDiff < 0) {
return '';
}
if($dayDiff == 0) {
if($diff < 60) {
return 'Just now';
} elseif($diff < 120) {
return '1 minute ago';
} elseif($diff < 3600) {
return floor($diff/60) . ' minutes ago';
} elseif($diff < 7200) {
return '1 hour ago';
} elseif($diff < 86400) {
return floor($diff/3600) . ' hours ago';
}
} elseif($dayDiff == 1) {
return 'Yesterday';
} elseif($dayDiff < 7) {
return $dayDiff . ' days ago';
} elseif($dayDiff == 7) {
return '1 week ago';
} elseif($dayDiff < (7*6)) { // Modifications Start Here
// 6 weeks at most
return ceil($dayDiff/7) . ' weeks ago';
} elseif($dayDiff < 365) {
return ceil($dayDiff/(365/12)) . ' months ago';
} else {
$years = round($dayDiff/365);
return $years . ' year' . ($years != 1 ? 's' : '') . ' ago';
}
}
转换没有那么难吧,一个函数就可以了:
strtotime就搞定了。
不挺好用的,楼主多虑了
var a=1238380049;//传递的unix时间戳
var d=new Date(a*1000);
var c=new Date();
var remainTime =c-d;
var hour=Math.floor(remainTime/1000/3600);
var remainSecond = Math.floor(remainTime/1000/3600/24);
var day=remainSecond;//几天前
document.write(hour+'小时前');
document.write(day+'天前');
</script>