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 相关文章推荐
elgg 获取文件图标地址的方法
Mar 20 PHP
zend optimizer在wamp的基础上安装图文教程
Oct 26 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
十幅图告诉你什么是PHP引用
Feb 22 PHP
PHP实现链式操作的核心思想
Jun 23 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
May 09 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
PHP实现Huffman编码/解码的示例代码
Apr 20 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
Oct 11 PHP
Laravel框架Eloquent ORM删除数据操作示例
Dec 03 PHP
php中array_fill函数的实例用法
Mar 02 PHP
PHP7 新增常量
Mar 09 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
一个目录遍历函数
2006/10/09 PHP
php下批量挂马和批量清马代码
2011/02/27 PHP
PHP程序开发范例学习之表单 获取文本框的值
2011/08/08 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP记录搜索引擎蜘蛛访问网站足迹的方法
2015/04/15 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
JavaScript 选中文字并响应获取的实现代码
2011/08/28 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
2014/12/05 Javascript
浅谈jquery.fn.extend与jquery.extend区别
2015/07/13 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
使用Vue.js创建一个时间跟踪的单页应用
2016/11/28 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
webpack 3.X学习之多页面打包的方法
2018/09/04 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
VUE脚手架具体使用方法
2019/05/20 Javascript
react quill中图片上传由默认转成base64改成上传到服务器的方法
2019/10/30 Javascript
JavaScript复制变量三种方法实例详解
2020/01/09 Javascript
[02:51]DOTA2战队出征照拍摄花絮 TI3明星化身时尚男模
2013/07/22 DOTA
python Django模板的使用方法(图文)
2013/11/04 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
Python实现模拟登录网易邮箱的方法示例
2018/07/05 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
2020/06/03 Python
Python如何合并多个字典或映射
2020/07/24 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
现代化办公人员工作的自我评价
2013/10/16 职场文书
个人求职简历的自我评价
2013/10/19 职场文书
高中军训感言500字
2014/02/24 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
认错检讨书
2014/10/02 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
排查并解决MySQL生产库内存使用率高的报警
2022/04/11 MySQL