# php友好時間輸出
*****
>[info]代碼
~~~
/**
* 友好時間顯示,支持過云時和未來時
* @param $timestamp int 時間戳
* @return null|string
*/
function dateFormat($timestamp)
{
if ($timestamp > time()) {
$formats = array(
'DAY' => '還有%s天',
'DAY_HOUR' => '還有%s天%s小時',
'HOUR' => '還有%s小時',
'HOUR_MINUTE' => '還有%s小時%s分',
'MINUTE' => '還有%s分鐘',
'MINUTE_SECOND' => '還有%s分鐘%s秒',
'SECOND' => '還有%s秒',
);
$seconds = $timestamp - time();
} else {
$formats = array(
'DAY' => '%s天前',
'DAY_HOUR' => '%s天%s小時前',
'HOUR' => '%s小時',
'HOUR_MINUTE' => '%s小時%s分前',
'MINUTE' => '%s分鐘前',
'MINUTE_SECOND' => '%s分鐘%s秒前',
'SECOND' => '%s秒前',
);
$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;
}
~~~
- 總導航
- 第一章 前端
- 1.0 js自定義模板
- 第二章 PHP
- 1.0 推薦博客
- 2.0 基礎理論
- 0.1 require和include區別
- 0.2 php運行機制
- 0.3 Http請求與響應
- 0.4 http響應狀態
- 3.0 Laravel框架
- 0.1 Eloquent ORM
- 0.2 時間處理
- 0.3 數據遷移
- 0.4 填充數據
- 4.0 composer安裝
- 5.0 緩存
- 0.1 Opcache
- 0.2 Memcache
- 0.3 Redis
- 0.4 Output buffer
- 第三章 MYSQL
- 1.0 新增和重置密碼
- 第四章 前端插件集
- 1.0 PreloadJS
- 0.1 LoadQueue
- 0.2 加載單個文件
- 0.3 加載進度顯示
- 0.4 加載指定目錄圖片
- 0.5 加載json圖片
- 2.0 Swiper
- 3.0 ECharts
- 0.1 簡單實例
- 0.2 title操作
- 0.3 tooltip操作
- 0.4 top顯示數字
- 0.5 雙數據顯示
- 0.6 大數據縮放顯示
- 0.7 綜合
- 4.0 Vue
- 0.1 模板語法
- 0.2 條件與循環
- 0.3 處理用戶輸入
- 0.4 計算屬性
- 0.5 事件綁定
- 0.6 動態渲染列表
- 5.0 layui
- 0.1 動態渲染nav
- 0.2 layer使用
- 6.0 IScroll
- 7.0 AlloyTouch
- 8.0 jquery.tagsinput
- 9.0 Editormd
- 第五章 應用軟件
- 1.0 Xshell
- 一螺集
- PHP
- 打印一天的區間時間
- 友好時間輸出
- 導出Excel
- JAVASCRIPT
- js回車事件