[PHP] 시간차 구하는 방법

[PHP] 시간차 구하는 방법

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(초)를 나눕니다.

이때 발생하는 소수점 이하자리는 제거하여 걸린 시간을 정수로 얻어옵니다.

%d 블로거가 이것을 좋아합니다: