>  기사  >  类库下载  >  PHP는 두 날짜의 차이를 연도, 월, 일 단위로 계산합니다.

PHP는 두 날짜의 차이를 연도, 월, 일 단위로 계산합니다.

高洛峰
高洛峰원래의
2016-10-14 11:04:311172검색

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(&#39;-&#39;, $date1); 
    list($y2, $m2, $d2) = explode(&#39;-&#39;, $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(&#39;j&#39;, mktime(0, 0, 0, $m2, 0, $y2)); 
    } 
    $m < 0 && $y -= 1; 
    return array($y, $m, $d); 
} 
?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

관련 기사

더보기