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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
Aug 07 PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 PHP
php 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
PHP系列学习之日期函数使用介绍
Aug 18 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
Apache服务器无法使用的解决方法
May 08 PHP
解析thinkphp中的M()与D()方法的区别
Jun 22 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
Jun 21 PHP
php调用mysql存储过程实例分析
Dec 29 PHP
PHP计算日期相差天数实例分析
Feb 23 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 PHP
PHP获取真实IP及IP模拟方法解析
Nov 24 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/04/17 PHP
php array_push()数组函数:将一个或多个单元压入数组的末尾(入栈)
2011/07/12 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
PHP中遍历数组的三种常用方法实例分析
2019/06/24 PHP
Alliance vs Liquid BO3 第一场2.13
2021/03/10 DOTA
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
javascript将url中的参数加密解密代码
2014/11/17 Javascript
freemarker判断对象是否为空的方法
2015/08/13 Javascript
BootStrap的Datepicker控件使用心得分享
2016/05/25 Javascript
Bootstrap Modal遮罩弹出层(完整版)
2016/11/21 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
Vue-cli@3.0 插件系统简析
2018/09/05 Javascript
js实现简单模态框实例
2018/11/16 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
JavaScript对象字面量和构造函数原理与用法详解
2020/04/18 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python网络爬虫出现乱码问题的解决方法
2017/01/05 Python
使用paramiko远程执行命令、下发文件的实例
2017/10/01 Python
Python判断两个文件是否相同与两个文本进行相同项筛选的方法
2019/03/01 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python缓存技术实现过程详解
2019/09/25 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python常量折叠基础知识点讲解
2021/02/28 Python
HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)
2014/04/10 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
BIBLOO捷克:购买女装、男装、童装、鞋和配件
2017/01/27 全球购物
美国时尚在线:Showpo
2017/09/08 全球购物
2014党员民主评议个人总结
2014/09/10 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
Nginx 常用配置
2022/05/15 Servers