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.MVC的模板标签系统(二)
Sep 05 PHP
PHP 可阅读随机字符串代码
May 26 PHP
php中日期加减法运算实现代码
Dec 08 PHP
PHP输出时间差函数代码
Jan 28 PHP
php有道翻译api调用方法实例
Dec 22 PHP
服务器上配置PHP运行环境教程
Feb 12 PHP
PHP整合七牛实现上传文件
Jul 03 PHP
php中的常用魔术方法汇总
Feb 14 PHP
php+mysql+jquery实现日历签到功能
Feb 27 PHP
thinkphp框架page类与bootstrap分页(美化)
Jun 25 PHP
php版本CKEditor 4和CKFinder安装及配置方法图文教程
Jun 05 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 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
提高define性能的php扩展hidef的安装和使用
2011/06/14 PHP
typecho插件编写教程(二):写一个新插件
2015/05/28 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
JavaScript 常用函数库详解
2009/10/21 Javascript
jQuery1.6 使用方法二
2011/11/23 Javascript
jQuery中click事件用法实例
2014/12/26 Javascript
jquery让指定的元素闪烁显示的方法
2015/03/17 Javascript
JavaScript给url网址进行encode编码的方法
2015/03/18 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
实例浅析js的this
2016/12/11 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
JS中数据结构与算法---排序算法(Sort Algorithm)实例详解
2019/06/17 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
js实现限定范围拖拽的示例
2020/10/26 Javascript
Python中使用第三方库xlutils来追加写入Excel文件示例
2015/04/05 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python简单计算数组元素平均值的方法示例
2017/12/26 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
centos7之Python3.74安装教程
2019/08/15 Python
python字符串的index和find的区别详解
2020/06/20 Python
python中字符串的编码与解码详析
2020/12/03 Python
canvas绘制视频封面的方法
2018/02/05 HTML / CSS
专科毕业生求职简历的自我评价
2013/10/12 职场文书
工作决心书范文
2014/03/11 职场文书
我为党旗添光彩演讲稿
2014/09/13 职场文书
模范教师材料大全
2014/12/16 职场文书
九华山导游词
2015/02/03 职场文书
2015年公司工作总结
2015/04/25 职场文书
Django使用redis配置缓存的方法
2021/06/01 Redis
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL