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 at(@)符号的用法简介
Jul 11 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
PHP乱码问题,UTF-8乱码常见问题小结
Apr 09 PHP
PHP实现根据浏览器跳转不同语言页面代码
Aug 02 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
Apr 15 PHP
PHP 返回13位时间戳的实现代码
May 13 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
thinkphp框架表单数组实现图片批量上传功能示例
Apr 04 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 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
DC动漫人物排行
2020/03/03 欧美动漫
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
php实现页面纯静态的实例代码
2017/06/21 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
thinkphp5使用无限极分类
2019/02/18 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
2020/02/18 PHP
Extjs在exlipse中设置自动提示的方法
2010/04/07 Javascript
用js获取电脑信息(是使用与IE浏览器)
2013/01/15 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
介绍JavaScript中Math.abs()方法的使用
2015/06/14 Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
2016/03/05 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
JS实现滑动插件
2020/01/15 Javascript
JavaScript console的使用方法实例分析
2020/04/28 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python常用的爬虫技巧总结
2016/03/28 Python
python pands实现execl转csv 并修改csv指定列的方法
2018/12/12 Python
python xpath获取页面注释的方法
2019/01/14 Python
详解Python学习之安装pandas
2019/04/16 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
丝绸和人造花卉、植物和树木:Nearly Natural
2018/11/28 全球购物
伦敦鲜花递送:Flower Station
2021/02/03 全球购物
父亲生日宴会答谢词
2014/01/10 职场文书
中学校庆方案
2014/03/17 职场文书
淘宝好评语大全
2014/05/05 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
党员志愿者服务倡议书
2015/04/29 职场文书