홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
[함수] 트위터 나 페이스북 처럼 날짜데이터를 간소하게 출력
12년 전
<?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;
}

?>



#출력예제

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 5.3 쓴다면
<?
/**
* $t1 기준시간(없으면 현재시간으로 대체)
* $t2 비교시간
* by XEED(genesis@hotmail.co.kr)
*/
function DateDiff($t1, $t2) {
    if(!$t2) return;
    $trans = array('y' => '년', 'm' => '개월', 'd' => '일', 'h' => '시간', 'i' => '분', 's' => '초');
    $ago = array(' 후', ' 전');
    $t1 = new DateTime($t1);
    $t2 = new DateTime($t2);
    $t1 = $t1->diff($t2);
    foreach($t1 as $key => $val)
        if($val) return $diff = $val . $trans[$key] . $ago[$t1->invert];

    return 'error';
}
echo DateDiff('2010-07-27 12:11:13', '2319-09-11 21:52:05'); // 309년 후
echo DateDiff('2010-07-27 12:11:13', '2010-07-21 15:38:42'); // 5일 전
echo DateDiff(null, '2010-06-11 15:38:42'); // (현재시간 기준) 1개월 전
echo DateDiff(null, '2010-07-27 08:38:42'); // (현재시간 기준) 25분 전
?>
추천추천 : 188 추천 목록
번호 제목
3,035
 아이프레임(iframe) 비율 유지하면서 크기 조절하는 방법
3,034
 PHP 배열에서 무작위로 하나 뽑아주는 array rand() 함수
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.