程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php計算兩個日期時間差(返回年、月、日)

php計算兩個日期時間差(返回年、月、日)

編輯:PHP綜合

在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); 
} 
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved