iT邦幫忙

0

PHP日期相距換算

php

今天想要比較日期
日期1跟日期2
差距在一分鐘秒內顯示差距xx秒
超過一分鐘了小於一小時顯示差距xx分鐘
超過一小時小於一天顯示差距xx小時
超過一天小於一個月顯示差距xx天
超過一個月小於一年顯示差距xx月
超過一年顯示差距xx年

請問該怎麼寫

yogo iT邦新手 3 級 ‧ 2011-03-29 14:11:05 檢舉
這是小弟自己寫的文章,有需要也可以參考一下

PHP的日期加減運算
http://blog.yogo.tw/2009/11/php.html

Mysql的日期加減運算
http://blog.yogo.tw/2009/11/mysql.html

1 個回答

20
brianc
iT邦研究生 1 級 ‧ 2010-01-07 18:26:30
最佳解答
<pre class="c" name="code">
function countdown ($date1, $date2) {
    $difference = strtotime($date1) - strtotime($date2);
    if ($difference > 31536000) {
        $due_date = sprintf('差距%d年', floor($difference / 31536000));
    } elseif ($difference > 2592000) {
        $due_date = sprintf('差距%d月', floor($difference / 2592000));
    } elseif ($difference > 86400) {
        $due_date = sprintf('差距%d天', floor($difference / 86400));
    } elseif ($difference > 3600) {
        $due_date = sprintf('差距%d小時', floor($difference / 3600));
    } elseif ($difference > 60) {
        $due_date = sprintf('差距%d分鐘', floor($difference / 60));
    } elseif ($difference > 0) {
        $due_date = sprintf('差距%d秒', $difference);
    } else {
        $due_date = '---';
    }
    return $due_date;
}

我要發表回答

立即登入回答