php自定义的格式化时间示例代码


Posted in PHP onDecember 05, 2013

如:时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,不多说了,直接贴上代码:

/** 
* 格式化时间 
* @param integer $timestamp 时间戳 
* @param string $format dt=日期时间 d=日期 t=时间 u=个性化 其他=自定义 
* @param integer $timeoffset 时区值 
* @param string $custom_format 自定义时间格式 
* @return string 
*/ 
public function dgmdate( $timestamp, $format = 'dt', $timeoffset = '9999', $custom_format = '' ) { 
$return = ''; 
$now = time(); 
$day_format = 'Y-n-j'; 
$time_format = 'H:i:s'; 
$date_format = $day_format . ' ' . $time_format; 
$offset = 8; //这里默认是东八区,也就是北京时间 
$lang = array( 
'before' => '前', 
'day' => '天', 
'yday' => '昨天', 
'byday' => '前天', 
'hour' => '小时', 
'half' => '半', 
'min' => '分钟', 
'sec' => '秒', 
'now' => '刚刚', 
); 
$timeoffset = $timeoffset == 9999 ? $offset : $timeoffset; 
$timestamp += $timeoffset * 3600; 
switch ( $format ) { 
case 'dt': 
$format = $date_format; 
break; 
case 'd': 
$format = $day_format; 
break; 
case 't': 
$format = $time_format; 
break; 
} 
if ( $format == 'u' ) { 
$todaytimestamp = $now - ($now + $timeoffset * 3600) % 86400 + $timeoffset * 3600; 
$s = gmdate( empty( $custom_format ) ? $date_format : $custom_format, $timestamp ); 
$time = $now + $timeoffset * 3600 - $timestamp; 
if ( $timestamp >= $todaytimestamp ) { 
if ( $time > 3600 ) { 
$return = '<span title="' . $s . '">' . intval( $time / 3600 ) . $lang['hour'] . $lang['before'] . '</span>'; 
} elseif ( $time > 1800 ) { 
$return = '<span title="' . $s . '">' . $lang['half'] . $lang['hour'] . $lang['before'] . '</span>'; 
} elseif ( $time > 60 ) { 
$return = '<span title="' . $s . '">' . intval( $time / 60 ) . $lang['min'] . $lang['before'] . '</span>'; 
} elseif ( $time > 0 ) { 
$return = '<span title="' . $s . '">' . $time . $lang['sec'] . $lang['before'] . '</span>'; 
} elseif ( $time == 0 ) { 
$return = '<span title="' . $s . '">' . $lang['now'] . '</span>'; 
} else { 
$return = $s; 
} 
} elseif ( ($days = intval( ($todaytimestamp - $timestamp) / 86400 )) >= 0 && $days < 7 ) { 
if ( $days == 0 ) { 
$return = '<span title="' . $s . '">' . $lang['yday'] . gmdate( $time_format, $timestamp ) . '</span>'; 
} elseif ( $days == 1 ) { 
$return = '<span title="' . $s . '">' . $lang['byday'] . gmdate( $time_format, $timestamp ) . '</span>'; 
} else { 
$return = '<span title="' . $s . '">' . ($days + 1) . $lang['day'] . $lang['before'] . '</span>'; 
} 
} else { 
$return = $s; 
} 
} else { 
$return = gmdate( $format, $timestamp ); 
} 
return $return; 
}
PHP 相关文章推荐
用Zend Encode编写开发PHP程序
Oct 09 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
Apr 07 PHP
PHP curl模拟浏览器采集阿里巴巴的实现代码
Apr 20 PHP
php curl选项列表(超详细)
Jul 01 PHP
PHP mail()函数使用及配置方法
Jan 14 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
yii实现使用CUploadedFile上传文件的方法
Dec 28 PHP
PHP实现的线索二叉树及二叉树遍历方法详解
Apr 25 PHP
thinkPHP中_initialize方法实例分析
Dec 05 PHP
PHP中快速生成随机密码的几种方式
Apr 17 PHP
php调整gif动画图片尺寸示例代码分享
Dec 05 #PHP
PHP数据库链接类(PDO+Access)实例分享
Dec 05 #PHP
php函数指定默认值方法的小例子
Dec 04 #PHP
PHP函数microtime()用法与说明
Dec 04 #PHP
php实现memcache缓存示例讲解
Dec 04 #PHP
php实现文件下载(支持中文文名)
Dec 04 #PHP
php指定函数参数默认值示例代码
Dec 04 #PHP
You might like
单位速度在实战中的运用
2020/03/04 星际争霸
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
PHP实现的自定义图像居中裁剪函数示例【测试可用】
2017/08/11 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
2020/03/23 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
JS Input里添加小图标的两种方法
2017/11/11 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
[03:56]显微镜下的DOTA2第十一期——鬼畜的死亡先知播音员
2014/06/23 DOTA
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
python检测远程端口是否打开的方法
2015/03/14 Python
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python环境变量设置方法
2016/08/28 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python 内置变量和函数的查看及说明介绍
2019/12/25 Python
用Python开发app后端有优势吗
2020/06/29 Python
python 实现控制鼠标键盘
2020/11/27 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
HTML5本地存储localStorage、sessionStorage基本用法、遍历操作、异常处理等
2014/05/08 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
vue路由实现登录拦截
2021/03/24 Vue.js
工作人员思想汇报
2014/01/09 职场文书
英文导游欢迎词
2014/01/11 职场文书
青年文明号事迹材料
2014/01/18 职场文书
创建文明城市标语
2014/06/16 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
张家口市高新区党工委群众路线教育实践活动整改方案
2014/10/25 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
就业推荐表院系意见
2015/06/05 职场文书
Python数据分析之pandas读取数据
2021/06/02 Python
《吸血鬼幸存者》新内容发布 追加多个全新模式
2022/04/07 其他游戏