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