计算和当前时间差多少天

我们有时在做网站时会碰到比较特别的需求,一条信息显示是几天和几天后的或者一个月前的,上次做一个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学习网,本文 计算和当前时间差多少天 版权归作者,免费文章欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

发表评论