php计算两个日期时间差(返回年、月、日)


Posted in PHP onJune 19, 2014

在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等。在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年、月、日。

<?php 
 
/** 
 +---------------------------------------------------------- 
 * 功能:计算两个日期相差 年 月 日 
 +---------------------------------------------------------- 
 * @param date   $date1 起始日期 
 * @param date   $date2 截止日期日期 
 +---------------------------------------------------------- 
 * @return array       
 +---------------------------------------------------------- 
 */
function DiffDate($date1, $date2) { 
  if (strtotime($date1) > strtotime($date2)) { 
    $ymd = $date2; 
    $date2 = $date1; 
    $date1 = $ymd; 
  } 
  list($y1, $m1, $d1) = explode('-', $date1); 
  list($y2, $m2, $d2) = explode('-', $date2); 
  $y = $m = $d = $_m = 0; 
  $math = ($y2 - $y1) * 12 + $m2 - $m1; 
  $y = round($math / 12); 
  $m = intval($math % 12); 
  $d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400; 
  if ($d < 0) { 
    $m -= 1; 
    $d += date('j', mktime(0, 0, 0, $m2, 0, $y2)); 
  } 
  $m < 0 && $y -= 1; 
  return array($y, $m, $d); 
} 
?>
PHP 相关文章推荐
解析PHP计算页面执行时间的实现代码
Jun 18 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
Jul 22 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
PHP回溯法解决0-1背包问题实例分析
Mar 23 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
thinkPHP框架实现的简单计算器示例
Dec 07 PHP
PHP抽象类基本用法示例
Dec 28 PHP
Laravel手动返回错误码示例
Oct 22 PHP
php使用百度ping服务代码实例
Jun 19 #PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
Jun 19 #PHP
PHP采集类Snoopy抓取图片实例
Jun 19 #PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 #PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 #PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 #PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 #PHP
You might like
PHP中,文件上传
2006/12/06 PHP
php使用session二维数组实例
2014/11/06 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
PHP新特性详解之命名空间、性状与生成器
2017/07/18 PHP
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
javascript实现tab切换的两个实例
2015/11/05 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
Bootstrap显示与隐藏简单实现代码
2017/03/06 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
微信小程序自定义组件
2017/08/16 Javascript
node使用Koa2搭建web项目的方法
2017/10/17 Javascript
微信小程序自定义音乐进度条的实例代码
2018/08/28 Javascript
微信小程序实现单列下拉菜单效果
2019/04/25 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
JS制作简易计算器的实例代码
2020/07/04 Javascript
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
2018/06/19 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
python3编写ThinkPHP命令执行Getshell的方法
2019/02/26 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Pytorch 卷积中的 Input Shape用法
2020/06/29 Python
详解python中的lambda与sorted函数
2020/09/04 Python
分享CSS3制作卡片式图片的方法
2016/07/08 HTML / CSS
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
金智子午JAVA面试题
2015/09/04 面试题
业务部经理岗位职责
2014/01/04 职场文书
简历自我评价怎么写好呢?
2014/01/04 职场文书
竞职演讲稿范文
2014/01/11 职场文书
生日寄语大全
2014/04/08 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
小学毕业教师寄语
2019/06/21 职场文书