A라는 게시물이 등록된 시각을 2015-05-12 01:22:20 (2015년 5월 12일 1시 22분 20초)라고 가정하겠습니다.
이때 A게시물이 현재 시각으로 부터 몇 시간이 지났는지를 구하는 방법을 포스팅합니다.
<?php // $timeA 변수 정의 $timeA = '2015-05-12 01:22:20'; // 현재 시각에서 $timeA 시각을 빼기위해 strtotime으로 변환 후 뺌 // 시간단위로 결과를 얻기 위해 두 값을 뺀 값에서 3600을 나눔 $result = (strtotime(date('Y-m-d H:i:s')) - strtotime($timeA)) / 3600; // 결과 값은 소숫점으로 출력되는 경우가 있으므로 정수형(int)으로 캐스팅(형변환) // 소숫점 이하 자리 제거는 floor나 number_format($result, false)를 이용하는 것도 가능 $result = (int) $result; ?>
추가 설명을 드리자면 strtotime 함수를 이용해 시간 데이터를 초단위로 변환한 후 값을 연산한 결과를 다시 시간 단위로 만들기 위해 3600(초)를 나눕니다.
이때 발생하는 소수점 이하자리는 제거하여 걸린 시간을 정수로 얻어옵니다.