zoukankan      html  css  js  c++  java
  • 计算两个日期相差年月日

     1 /** 
     2  +---------------------------------------------------------- 
     3  * 功能:计算两个日期相差 年 月 日 
     4  +---------------------------------------------------------- 
     5  * @param date   $date1 起始日期 
     6  * @param date   $date2 截止日期日期 
     7  +---------------------------------------------------------- 
     8  * @return array       
     9  +---------------------------------------------------------- 
    10  */
    11 function DiffDate($date1, $date2) { 
    12   if (strtotime($date1) > strtotime($date2)) { 
    13     $ymd = $date2; 
    14     $date2 = $date1; 
    15     $date1 = $ymd; 
    16   } 
    17   list($y1, $m1, $d1) = explode('-', $date1); 
    18   list($y2, $m2, $d2) = explode('-', $date2); 
    19   $y = $m = $d = $_m = 0; 
    20   $math = ($y2 - $y1) * 12 + $m2 - $m1; 
    21   $y = floor($math / 12); 
    22   $m = intval($math % 12); 
    23   $d = (mktime(0, 0, 0, $m2, $d2, $y2) - mktime(0, 0, 0, $m2, $d1, $y2)) / 86400; 
    24   if ($d < 0) { 
    25     $m -= 1; 
    26     $d += date('j', mktime(0, 0, 0, $m2, 0, $y2)); 
    27   } 
    28   $m < 0 && $y -= 1; 
    29   return array($y, $m, $d); 
    30 }
    <?php  
      //Get detail gap of year,month and days between two different time by vfhky 20130728  
      $common = (time()-strtotime(get_option('swt_builddate')));  
      $a = floor($common/86400/360);    //整数年  
      $b = floor($common/86400/30) - $a*12; //整数月  
      $c = floor($common/86400) - $a*360 - $b*30;   //整数日  
      $d = floor($common/86400);    //总的天数  
      echo $a."年".$b."月".$c."日(共计".$d."天)";  
    ?> 
  • 相关阅读:
    c# 虚拟路径转换为绝对路径
    Java基础——封装
    作为测试人,如何优雅的查看Log日志?
    学习整理
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    记一次DataNode慢启动问题
    DataNode迁移方案
    C++学习笔记-模板
    C Primer Plus之指针
  • 原文地址:https://www.cnblogs.com/bit5566/p/5140173.html
Copyright © 2011-2022 走看看