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 memcache扩展的三种安装方法
Apr 26 PHP
php fputcsv命令 写csv文件遇到的小问题(多维数组连接符)
May 24 PHP
PHP批量删除、清除UTF-8文件BOM头的代码实例
Apr 14 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
Jun 04 PHP
php格式化日期实例分析
Nov 12 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
Sep 28 PHP
PHP常用字符串函数小结(推荐)
Aug 05 PHP
laravel5.6中的外键约束示例
Oct 23 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
通过代码实例解析PHP session工作原理
Dec 11 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数组函数序列之krsort()- 对数组的元素键名进行降序排序,保持索引关系
2011/11/02 PHP
php二维数组转成字符串示例
2014/02/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
2010/11/30 Javascript
在JavaScript中监听IME键盘输入事件
2011/05/29 Javascript
jQuery插件开发全解析
2012/10/10 Javascript
javascript判断office版本示例
2014/04/11 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
javascript 继承学习心得总结
2016/03/17 Javascript
angular.js之路由的选择方法
2016/09/24 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
如何实现js拖拽效果及原理解析
2020/05/08 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
python爬取网站数据保存使用的方法
2013/11/20 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
星球大战与Python之间的那些事
2016/01/07 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
中专毕业自我鉴定
2013/10/16 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
《北大荒的秋天》教学反思
2014/04/14 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
Python 恐龙跑跑小游戏实现流程
2022/02/15 Python