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 相关文章推荐
学习使用PHP数组
Oct 09 PHP
PHP控制网页过期时间的代码
Sep 28 PHP
PHP下判断网址是否有效的代码
Oct 08 PHP
php数组删除元素示例
Mar 21 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
微信公众平台开发之配置与请求
Aug 26 PHP
php session实现多级目录存放实现代码
Feb 03 PHP
php实现当前页面点击下载文件的简单方法
Sep 22 PHP
Thinkphp5.0自动生成模块及目录的方法详解
Apr 17 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
Apr 20 PHP
PHP实现抽奖功能实例代码
Jun 30 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
php定时计划任务的实现方法详解
2013/06/06 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
PHP获取当前日期和时间及格式化方法参数
2015/05/11 PHP
php 批量查询搜狗sogou代码分享
2015/05/17 PHP
jQuery Tab插件 用于在Tab中显示iframe,附源码和详细说明
2011/06/27 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
2016/06/20 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
JavaScript中重名的函数与对象示例详析
2017/09/28 Javascript
JS字符串去除连续或全部重复字符的实例
2018/03/08 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
你不知道的SpringBoot与Vue部署解决方案
2020/11/09 Javascript
微信小程序实现点赞业务
2021/02/10 Javascript
js实现Element中input组件的部分功能并封装成组件(实例代码)
2021/03/02 Javascript
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
Python实现一个简单的验证码程序
2017/11/03 Python
python 限制函数调用次数的实例讲解
2018/04/21 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python利用Django如何写restful api接口详解
2018/06/08 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
python求前n个阶乘的和实例
2020/04/02 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
2020/08/17 Python
解决python3.6用cx_Oracle库连接Oracle的问题
2020/12/07 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
幼儿园爱国卫生月活动总结
2014/06/30 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书