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 相关文章推荐
xml+php动态载入与分页
Oct 09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
PHP sprintf()函数用例解析
May 18 PHP
yii框架中的Url生产问题小结
Jan 16 PHP
PHPEXCEL 使用小记
Jan 06 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php时间计算相关问题小结
May 09 PHP
php支付宝在线支付接口开发教程
Sep 19 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
PHP生成随机数的方法总结
Mar 01 PHP
PHP hex2bin()函数用法讲解
Feb 25 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以ROOT权限执行系统命令的方法
2011/02/10 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
初识laravel5
2015/03/02 PHP
[原创]php获取数组中键值最大数组项的索引值
2015/03/17 PHP
使用PHPMailer发送邮件实例
2017/02/15 PHP
PHP实现的Redis多库选择功能单例类
2017/07/27 PHP
PHP使用栈解决约瑟夫环问题算法示例
2017/08/27 PHP
浅析IE10兼容性问题(frameset的cols属性)
2014/01/03 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
JS控制按钮10秒钟后可用的方法
2015/12/22 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
nuxt中使用路由守卫的方法步骤
2019/01/27 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python通过matplotlib绘制动画简单实例
2017/12/13 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
python取均匀不重复的随机数方式
2019/11/27 Python
通过实例学习Python Excel操作
2020/01/06 Python
python开发一款翻译工具
2020/10/10 Python
以色列的身体护理及家居香薰品牌:Sabon NYC
2018/02/23 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
给国外客户的邀请函
2014/01/30 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
学习型家庭事迹材料
2014/12/20 职场文书
乌镇导游词
2015/02/02 职场文书
土木工程生产实习心得体会
2016/01/22 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server