广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP计算两个日期相隔多少年,多少月,多少天,和总天数
  • 579
分享到

PHP计算两个日期相隔多少年,多少月,多少天,和总天数

phpc++开发语言 2023-09-08 19:09:06 579人浏览 薄情痞子
摘要

1.解决PHP如何判断两个日期之间相距的天数,并可换算为月、年。 DiffDate("2021-01-06","2023-06-16");// 计算两个日期相差 年 月 日 function DiffDate($date1, $date2

1.解决PHP如何判断两个日期之间相距的天数,并可换算为月、年。

DiffDate("2021-01-06","2023-06-16");// 计算两个日期相差 年 月 日 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);  //相差月数  $mm = $math; //相差总月数  $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,$mm); } 

2. 使用strtotime()后的数值直接相减,计算相差总天数 小时 秒 计算

$one = strtotime('2011-12-08 07:02:40');//开始时间 时间戳$tow = strtotime('2011-12-25 00:00:00');//结束时间 时间戳$cle = $tow - $one; //得出时间戳差值$d = floor($cle/3600/24);$h = floor(($cle%(3600*24))/3600);  //%取余$m = floor(($cle%(3600*24))%3600/60);$s = floor(($cle%(3600*24))%60);echo "两个时间相差 $d 天 $h 小时 $m 分 $s 秒"

3.计算两个日期相隔多少年,多少月,多少天 ,使用php类库

function diffDate($date1,$date2){    $datetime1 = new \DateTime($date1);    $datetime2 = new \DateTime($date2);    $interval = $datetime1->diff($datetime2);    $time['y']         = $interval->format('%Y');    $time['m']         = $interval->format('%m');    $time['d']         = $interval->format('%d');    $time['h']         = $interval->format('%H');    $time['i']         = $interval->format('%i');    $time['s']         = $interval->format('%s');    $time['a']         = $interval->fORMat('%a');    // 两个时间相差总天数    return $time;}  # 使用实例$sss = diffDate('2020-01-21 12:30:30', '2023-06-18 15:00:00');print_r($sss);

4.方法3

        function diffDate($date1,$date2){           $datestart= date('Y-m-d',strtotime($date1));          if(strtotime($datestart)>strtotime($date2)){               $tmp=$date2;               $date2=$datestart;              $datestart=$tmp;           }          list($Y1,$m1,$d1)=explode('-',$datestart);          list($Y2,$m2,$d2)=explode('-',$date2);          $Y=$Y2-$Y1;          $m=$m2-$m1;          $d=$d2-$d1;          if($d<0){              $d+=(int)date('t',strtotime("-1 month $date2"));              $m--;          }          if($m<0){              $m+=12;              $y--;          }          if($Y == 0){             return $m.'个月'.$d.'天';         }elseif($Y == 0 && $m == 0){             return $d.'天';         }else{             return $Y.'年'.$m.'个月'.$d.'天';         }     }   $catdata="2002-09-28"; //计算时间 echo diffDate($catdata,date('Y-m-d',time()));

来源地址:https://blog.csdn.net/qq_32450471/article/details/131277529

--结束END--

本文标题: PHP计算两个日期相隔多少年,多少月,多少天,和总天数

本文链接: https://www.lsjlt.com/news/400496.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP计算两个日期相隔多少年,多少月,多少天,和总天数
    1.解决PHP如何判断两个日期之间相距的天数,并可换算为月、年。 DiffDate("2021-01-06","2023-06-16");// 计算两个日期相差 年 月 日 function DiffDate($date1, $date2...
    99+
    2023-09-08
    php c++ 开发语言
  • php如何计算几个月多少天
    这篇“php如何计算几个月多少天”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何计算几个月多少天”文章吧。php计算...
    99+
    2023-07-04
  • php怎么计算几个月多少天
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php怎么计算几个月多少天?php计算指定的月份有几天新建一个php文件,命名为test.php,用于讲解php如何计算指定的月份有几天。在test.php文件中,使...
    99+
    2022-11-18
    php
  • python 计算两个日期相差多少个月实例代码
    近期,由于业务需要计算两个日期之前相差多少个月。我在网上找了很久,结果发现万能的python,居然没有一个模块计算两个日期的月数,像Java、C#之类的高级语言,都会有(date1-date2).month...
    99+
    2022-06-04
    个月 实例 两个
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作