前段時(shí)間做一個(gè)APP后臺(tái)時(shí)用戶要求用戶的評論以xx分鐘前這種格式顯示,給用戶以良好的體驗(yàn),于是筆者寫了一個(gè)函數(shù),本函數(shù)主要是利用PHP計(jì)算兩個(gè)時(shí)間之間的差值,通過差值來轉(zhuǎn)換,雖然代碼很簡單,但是很實(shí)用.PHP實(shí)例代碼如下:
- <?php
- /**
- * 時(shí)間差計(jì)算
- *
- * @param Timestamp $time 時(shí)間差
- * @return String Time Elapsed
- * @author jakehu
- */
- function time2Units ($time)
- {
- $year = floor($time / 60 / 60 / 24 / 365);
- $time -= $year * 60 * 60 * 24 * 365;
- $month = floor($time / 60 / 60 / 24 / 30);
- $time -= $month * 60 * 60 * 24 * 30;
- $week = floor($time / 60 / 60 / 24 / 7);
- $time -= $week * 60 * 60 * 24 * 7;
- $day = floor($time / 60 / 60 / 24);
- $time -= $day * 60 * 60 * 24;
- $hour = floor($time / 60 / 60);
- $time -= $hour * 60 * 60;
- $minute = floor($time / 60);
- $time -= $minute * 60;
- $second = $time;
- $elapse = '';
- $unitArr = array('年前' =>'year', '個(gè)月前'=>'month', '周前'=>'week', '天前'=>'day',
- '小時(shí)前'=>'hour', '分鐘前'=>'minute', '秒前'=>'second'
- );
- foreach ( $unitArr as $cn => $u )
- {
- if ( $year > 0 ) {//大于一年顯示年月日
- $elapse = date('Y/m/d',time()-$time);
- break;
- }
- else if ( $$u > 0 )
- {
- $elapse = $$u . $cn;
- break;
- }
- }
- return $elapse;
- }
- $past = 1390000000; //起點(diǎn)時(shí)間
- $diff = time() - $past;//時(shí)間差
- echo '發(fā)表于' . time2Units($diff) . '前';
- ?>
新聞熱點(diǎn)
疑難解答