計算和目前時間差多少天(js/php)

來源:互聯網
上載者:User

我們有時在做網站時會碰到比較特別的需求,一條資訊顯示是幾天和幾天后的或者一個月前的,上次做一個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;
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.