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 相关文章推荐
PHP与MySQL交互使用详解
Oct 09 PHP
转换中文日期的PHP程序
Oct 09 PHP
开源SNS系统-ThinkSNS
May 18 PHP
php 5.3.5安装memcache注意事项小结
Apr 12 PHP
Eclipse的PHP插件PHPEclipse安装和使用
Jul 20 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
redis查看连接数及php模拟并发创建redis连接的方法
Dec 15 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
Aug 21 PHP
PHP操作XML中XPath的应用示例
Jul 04 PHP
深入分析PHP设计模式
Jun 15 PHP
php判断IP地址是否在多个IP段内
Aug 18 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
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
php可应用于面包屑导航的迭代寻找家谱树实现方法
2015/02/02 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
Yii框架where查询用法实例分析
2019/10/22 PHP
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
2016/08/03 Javascript
javascript验证内容为数字以及长度为10的简单实例
2016/08/20 Javascript
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
JS实现不用中间变量temp 实现两个变量值得交换方法
2018/02/04 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python 的内置字符串方法小结
2016/03/15 Python
Python实现多级目录压缩与解压文件的方法
2018/09/01 Python
python贪吃蛇游戏代码
2020/04/18 Python
在django模板中实现超链接配置
2019/08/21 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
2020/02/14 Python
Django-xadmin+rule对象级权限的实现方式
2020/03/30 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
高中毕业自我鉴定
2013/12/19 职场文书
应届中专生自荐书范文
2014/02/13 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
中学生家长评语大全
2014/04/16 职场文书
家长学校工作方案
2014/05/07 职场文书
Python一些基本的图像操作和处理总结
2021/06/23 Python
游戏《东方异文石:爱亚利亚黎明》正式版发布
2022/04/03 其他游戏