计算和当前时间差多少天

精选文章 2015年7月16日 5.09K

我们有时在做网站时会碰到比较特别的需求,一条信息显示是几天和几天后的或者一个月前的,上次做一个APP时就碰到了这周情况,留下当时用的代码以便以后用时不需要东奔西走。

PHP代码:

function calcTime($time)
{
$now = time(); //当前时间
$add = strtotime($time); //将时间转为时间戳
$str = ”;
$timeSpan = $now – $add;
$days = floor($timeSpan / (24 * 3600 * 1000));  //计算相差的天数
if ($days < 1) {
$leave1 = $timeSpan % (24 * 3600 * 1000);
$hours = floor($leave1 / (3600 * 1000)); //计算出小时数
if ($hours < 1) {
//计算相差分钟数
$leave2 = $leave1 % (3600 * 1000);
$minutes = floor($leave2 / (60 * 1000)); //计算小时数后剩余的毫秒数
if ($minutes <= 5) {
$str = “刚刚”;
} else {
$str = $minutes + “分钟前”;
}
} else {
$str = $hours + “小时前”;
}
} else {
if ($days) {
if ($days < 30) {
$str = $days + “天前”;
} else {
$str = intval($days / 30) + “个月前”;
}
} else {
$str = “很久以前”;
}
}
return $str;
}

JS代码:

function calcTime(time) {
var now = new Date();
var add = new Date(time);
var str = “”;
var timeSpan = now – add;
//计算出相差天数
var days = Math.floor(timeSpan / (24 * 3600 * 1000));
if (days < 1) {
//计算出小时数
var leave1 = timeSpan % (24 * 3600 * 1000);
//计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000));
if (hours < 1) {
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000);
//计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000));
if (minutes <= 5) {
str = “刚刚”;
} else {
str = minutes + “分钟前”;
}
} else {
str = hours + “小时前”;
}
} else {
if (days) {
if (days < 30) {
str = days + “天前”;
} else {
str = parseInt(days / 30) + “个月前”;
}
} else {
str = “很久以前”;
}
}
return str;
}


关注微信公众号『PHP学习网

第一时间了解最新网络动态
关注博主不迷路~

版权声明:转载请注明 PHP学习网 » 计算和当前时间差多少天
分享到:
赞(0)

文章评论

您需要之后才可以评论
0点赞 0评论 收藏 QQ分享 微博分享

PHP学习网

PHP学习网