[PHP] 두 날짜 사이의 차이 구하기

두 개 일시의 차이를 구하는 함수이다.

function getTimDiff($d1, $d2)
    $date1 = new \DateTime($d1);
    $date2 = new \DateTime($d2);

    $diff = $date1->diff($date2);
    $interval = array();

    if ($diff->y > 0)
        $interval[] = $diff->y.'년';
    if ($diff->m > 0)
        $interval[] = $diff->m.'월';
    if ($diff->d > 0)
        $interval[] = $diff->d.'일';
    if ($diff->h > 0)
        $interval[] = $diff->h.'시간';
    if ($diff->i > 0)
        $interval[] = $diff->i.'분';
    if ($diff->s > 0)
        $interval[] = $diff->s.'초';

    return implode(' ', $interval);

위 함수를 이용해 날짜 차이를 구하는 코드는 아래와 같다.

$d1 = '2017-03-19 00:00:00';
$d2 = '2018-05-22 16:45:21';

echo getTimDiff($d1, $d2);

위 코드의 결과는 아래와 같이 표시된다.

1년 2개월 3일 16시간 45분 21초


참고 : http://php.net/manual/en/datetime.diff.php


PHP와 MariaDB, jQuery 등을 사용해 게시판, 쇼핑몰 솔루션을 개발합니다. 그누보드5와 영카트5 개발에 참여 했습니다. Linux와 Nginx는 물론 WordPress, Git 등에도 관심이 많습니다. 자전거 타기 및 사진 촬영을 취미로 하고 있습니다.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.