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

2015-01-24信息快讯网

时间刚好是5分钟前,则对应的时间戳就会被格式化为5分钟前,自定义的格式化时间方法如下,感兴趣的朋友可以参考下

如:时间刚好是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基于GD库的缩略图生成代码(支持jpg,gif,png格式)
PHP输出英文时间日期的安全方法(RFC 1123格式)
PHP面向对象教程之自定义类
一个严格的PHP Session会话超时时间设置方法
php导出csv格式数据并将数字转换成文本的思路以及代码分享
php实例分享之html转为rtf格式
php自定义函数截取汉字长度
php计算程序运行时间的简单例子分享
php生成随机密码自定义函数代码(简单快速)
php下载文件源代码(强制任意文件格式下载)
php强制文件下载而非在浏览器打开的自定义函数分享
php中session过期时间设置及session回收机制介绍
PHP生成自定义长度随机字符串的函数分享
PHP文件大小格式化函数合集
php格式化日期和时间格式化示例分享
Server.HTMLEncode让代码在页面里显示为源代码
php调整gif动画图片尺寸示例代码分享
wordpress自定义url参数实现路由功能的代码示例
php导出word格式数据的代码实例
PHP时间戳 strtotime()使用方法和技巧
php中生成随机密码的自定义函数代码
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
PHP JS Ip地址及域名格式检测代码
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
PHP函数之日期时间函数date()使用详解
如何使用php输出时间格式
显示程序执行时间php函数代码
JoshChen_web格式编码UTF8-无BOM的小细节分析
解析php中如何调用用户自定义函数
php number_format() 函数通过千位分组来格式化数字的实现代码
解析CodeIgniter自定义配置文件
使用Smarty 获取当前日期时间和格式化日期时间的方法详解
利用php递归实现无限分类 格式化数组的详解
©2014-2024 dbsqp.com