블로그 모듈 만들면서 날짜 데이터를 간소하게 출력할 필요성이 생겨서 만들어놓은건데 필요하신분이 계실거라 생각해서 올려봅니다.
허접한 소스라 입맛에 맛게 고쳐서 쓰시면 될것같아요;;
 
========================================================
#출력예제

echo diffDate('2010-01-01 00:00:20','2010-02-07 12:01:20');
//result : 1달 전

echo diffDate('2010-01-01 00:00:20',date('Y-m-d H:i:s'));
//현재 날짜의 차이를 계산에서 출력함
//result : 6달 전 (2010-07-24일 작성일 기준)

<?php
  
/**
* Params 
* $sDate 시작일 (게시물 작성일)
* $eDate 종료일 (현재 시간 기준)
*/
function diffDate($sDate,$eDate)
{
    $date[0]=strtotime($sDate);
    $date[1]=strtotime($eDate);
    if($date[0] >= $date[1])
    {
        return false;
    }
    $date[2]=strtotime(date('Y-m-d  H:i:s',$date[1] - $date[0]));
  
    $Y=date('Y',$date[2])-1970;
    $m=date('n',$date[2])-1;
    $d=date('j',$date[2])-1;
    $H=intval(date('H',$date[2]))-9; //그리니치 표준시 우리나라일경우 -9
    $i=intval(date('i',$date[2]));
    $s=intval(date('s',$date[2]));
    if($Y)
    {
        $returnDate= $Y;
        $returnDate.= '년 전';
    }
    elseif($m)
    {
        $returnDate= $m;
        $returnDate.= '달 전';
    }
    elseif($d)
    {
        $returnDate= $d;
        $returnDate.= '일 전';
    }
    elseif($H)
    {
        $returnDate= $H;
        $returnDate.= '시간 전';
    }
    elseif($i)
    {
        $returnDate= $i;
        $returnDate.= '분 전';
    }
    else
    {
        $returnDate= $s;
        $returnDate.= '초 전';
    }
    return $returnDate;
}
  
?>
2010/11/06 00:58 2010/11/06 00:58

Trackback Address :: 이 글에는 트랙백을 보낼 수 없습니다