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 中的一些经验积累
Oct 09 PHP
php print EOF实现方法
May 21 PHP
mysql 性能的检查和优化方法
Jun 21 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
Jun 19 PHP
PHP中使用CURL获取页面title例子
Jan 07 PHP
php简单实现发送带附件的邮件
Jun 10 PHP
PHP翻页跳转功能实现方法
Nov 30 PHP
浅谈PHP的反射API
Feb 26 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
Sep 15 PHP
PHP+ajax实现获取新闻数据简单示例
May 08 PHP
laravel orm 关联条件查询代码
Oct 21 PHP
PHP设计模式之 策略模式Strategy详解【对象行为型】
May 01 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&amp;mysql(五)
2006/10/09 PHP
php 什么是PEAR?(第三篇)
2009/03/19 PHP
thinkphp中连接oracle时封装方法无法用的解决办法
2013/06/17 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
PHP学习笔记之session
2018/05/06 PHP
Laravel框架验证码类用法实例分析
2019/09/11 PHP
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
js DOM的学习笔记
2011/12/22 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
九种原生js动画效果
2015/11/11 Javascript
【经验总结】编写JavaScript代码时应遵循的14条规律
2016/06/20 Javascript
jQuery简单实现点击文本框复制内容到剪贴板上的方法
2016/08/01 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
RequireJS 依赖关系的实例(推荐)
2017/01/21 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
[12:51]71泪洒现场!是DOTA2让经典重现
2014/03/24 DOTA
Python中的二叉树查找算法模块使用指南
2014/07/04 Python
python实现超简单端口转发的方法
2015/03/13 Python
Python for Informatics 第11章之正则表达式(四)
2016/04/21 Python
python实现ip代理池功能示例
2019/07/05 Python
python实现画出e指数函数的图像
2019/11/21 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
2014财务部年度工作总结
2014/12/08 职场文书
个人汇报材料范文
2014/12/30 职场文书
元宵节晚会主持词
2015/07/01 职场文书
初三英语教学反思
2016/02/15 职场文书
创业计划书之餐饮
2019/09/02 职场文书
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
Python列表的索引与切片
2022/04/07 Python