php執行個體代碼:時間友好格式化_PHP教程

來源:互聯網
上載者:User
php執行個體代碼:時間友好格式化,請看代碼:

Copy to Clipboard引用的內容:[www.bkjia.com]
class DateFormat
{
private static $_DIFF_FORMAT = array(
'DAY' => '%s天前',
'DAY_HOUR' => '%s天%s小時前',
'HOUR' => '%s小時',
'HOUR_MINUTE' => '%s小時%s分前',
'MINUTE' => '%s分鐘前',
'MINUTE_SECOND' => '%s分鐘%s秒前',
'SECOND' => '%s分鐘前',
);

/**
* 友好格式化時間
*
* @param int 時間
* @param array $formats
* @return string
*/
public static function diff($timestamp, $formats = null)
{
if ($formats == null) {
$formats = self::$_DIFF_FORMAT;
}
/* 計算出時間差 */
$seconds = time() - $timestamp;
$minutes = floor($seconds / 60);
$hours = floor($minutes / 60);
$days = floor($hours / 24);

if ($days > 0) {
$diffFormat = 'DAY';
} else {
$diffFormat = ($hours > 0) ? 'HOUR' : 'MINUTE';
if ($diffFormat == 'HOUR') {
$diffFormat .= ($minutes > 0 && ($minutes - $hours * 60) > 0) ? '_MINUTE' : '';
} else {
$diffFormat = (($seconds - $minutes * 60) > 0 && $minutes > 0)
? $diffFormat.'_SECOND' : 'SECOND';
}
}

$dateDiff = null;
switch ($diffFormat) {
case 'DAY':
$dateDiff = sprintf($formats[$diffFormat], $days);
break;
case 'DAY_HOUR':
$dateDiff = sprintf($formats[$diffFormat], $days, $hours - $days * 60);
break;
case 'HOUR':
$dateDiff = sprintf($formats[$diffFormat], $hours);
break;
case 'HOUR_MINUTE':
$dateDiff = sprintf($formats[$diffFormat], $hours, $minutes - $hours * 60);
break;
case 'MINUTE':
$dateDiff = sprintf($formats[$diffFormat], $minutes);
break;
case 'MINUTE_SECOND':
$dateDiff = sprintf($formats[$diffFormat], $minutes, $seconds - $minutes * 60);
break;
case 'SECOND':
$dateDiff = sprintf($formats[$diffFormat], $seconds);
break;
}
return $dateDiff;
}
}

echo DateFormat::diff('1310455823');
/* 33分鐘47秒前 */

http://www.bkjia.com/PHPjc/363921.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/363921.htmlTechArticlephp執行個體代碼:時間友好格式化,請看代碼: Copy to Clipboard 引用的內容: [www.veryhuo.com] ?php class DateFormat { private static $_DIFF_FORMAT = array( 'DAY'...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.