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 替换模板变量实现步骤
Aug 24 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
May 09 PHP
php 高性能书写
Dec 11 PHP
php cookies中删除的一般赋值方法
May 07 PHP
深入php之规范编程命名小结
May 15 PHP
关于Zend Studio 配色方案插件的介绍
Jun 24 PHP
php中hashtable实现示例分享
Feb 13 PHP
使用array_map简单搞定PHP删除文件、删除目录
Oct 29 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
May 02 PHP
基于thinkphp5框架实现微信小程序支付 退款 订单查询 退款查询操作
Aug 17 PHP
laravel添加角色和模糊搜索功能的实现代码
Jun 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代码
2007/03/03 PHP
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
php查询ip所在地的方法
2014/12/05 PHP
php实现文件与16进制相互转换的方法示例
2017/02/16 PHP
laravel请求参数校验方法
2019/10/10 PHP
php7性能提升的原因详解
2019/10/13 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
在Javascript里访问SharePoint列表数据的实现方法
2011/05/22 Javascript
通过一段代码简单说js中的this的使用
2013/07/23 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
JavaScript控制两个列表框listbox左右交换数据的方法
2015/03/18 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
javascript基本算法汇总
2016/03/09 Javascript
EsLint入门学习教程
2017/02/17 Javascript
Vue2学习笔记之请求数据交互vue-resource
2017/02/23 Javascript
vue复合组件实现注册表单功能
2017/11/06 Javascript
layer弹出子iframe层父子页面传值的实现方法
2018/11/22 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
Vue 列表页带参数进详情页的操作(router-link)
2020/11/13 Javascript
python基于pyDes库实现des加密的方法
2017/04/29 Python
Python数据结构与算法之字典树实现方法示例
2017/12/13 Python
Django框架视图介绍与使用详解
2019/07/18 Python
django之自定义软删除Model的方法
2019/08/14 Python
详解Python绘图Turtle库
2019/10/12 Python
python 制作网站小说下载器
2021/02/20 Python
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
恶意软件的定义
2014/11/12 面试题
机械工程系毕业生求职信
2013/09/27 职场文书
专家推荐信怎么写
2015/03/25 职场文书
Sql Server之数据类型详解
2022/02/28 SQL Server