PHP将DateTime对象转化为友好时间显示的实现代码


Posted in PHP onSeptember 20, 2011
/** 
* 友好日期时间 
* 
* @param DateTime $datetime 日期时间 
* @param int $size 精确到位数 
* @throws \InvalidArgumentException 
* @return string 
*/ 
function friendly_date($datetime, $size=1) 
{ 
if (is_int($datetime)) { 
$datetime = new \DateTime($datetime); 
} 
if (!($datetime instanceof \DateTime)) { 
throw new \InvalidArgumentException('invalid "DateTime" object'); 
} 
$now = new \DateTime(); 
$interval = $now->diff($datetime); 
$intervalData = array( 
$interval->y, $interval->m, $interval->d, 
$interval->h, $interval->i, $interval->s, 
); 
$intervalFormat = array('年', '个月', '天', '小时', '分种', '秒'); 
foreach($intervalData as $index=>$value) { 
if ($value) { 
$intervalData[$index] = $value . $intervalFormat[$index]; 
} else { 
unset($intervalData[$index]); 
unset($intervalFormat[$index]); 
} 
} 
return implode('', array_slice($intervalData, 0, $size)); 
}
PHP 相关文章推荐
教你如何把一篇文章按要求分段
Oct 09 PHP
手把手教你使用DedeCms的采集的图文教程
Mar 11 PHP
网页游戏开发入门教程三(简单程序应用)
Nov 02 PHP
PHP header函数分析详解
Aug 06 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
PHP curl模拟登录带验证码的网站
Nov 30 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
Dec 29 PHP
thinkphp关于简单的权限判定方法
Apr 03 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 PHP
php方法调用模式与函数调用模式简例
Sep 20 #PHP
php若干单维数组遍历方法的比较
Sep 20 #PHP
PHP学习笔记 用户注册模块用户类以及验证码类
Sep 20 #PHP
PHP无刷新上传文件实现代码
Sep 19 #PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 #PHP
PHP下利用shell后台运行PHP脚本,并获取该脚本的Process ID的代码
Sep 19 #PHP
php去除重复字的实现代码
Sep 16 #PHP
You might like
Php部分常见问题总结
2006/10/09 PHP
PHP常用代码大全(新手入门必备)
2010/06/29 PHP
php生成图片验证码
2015/06/09 PHP
Smarty使用自定义资源的方法
2015/08/08 PHP
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
基于jquery的内容循环滚动小模块(仿新浪微博未登录首页滚动微博显示)
2011/03/28 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
ES6关于Promise的用法详解
2018/05/07 Javascript
在vue中动态添加class类进行显示隐藏实例
2019/11/09 Javascript
JS原型和原型链原理与用法实例详解
2020/02/05 Javascript
12 种使用Vue 的最佳做法
2020/03/30 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
Python常见数据结构详解
2014/07/24 Python
详解在Python中处理异常的教程
2015/05/24 Python
python数据结构之链表的实例讲解
2017/07/25 Python
Python 操作文件的基本方法总结
2017/08/10 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
keras 读取多标签图像数据方式
2020/06/12 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
日本热销NO.1胶原蛋白冻:Aishitoto爱希特多
2019/06/20 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
办公室内勤工作职责
2013/12/11 职场文书
十佳青年个人事迹材料
2014/01/28 职场文书
演讲主持词
2014/03/18 职场文书
歌颂祖国演讲稿
2014/05/04 职场文书
员工安全生产承诺书
2014/05/22 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
CSS的calc函数用法小结
2022/06/25 HTML / CSS