php 시간차이 날짜차이 구하기 > 소스코드

본문 바로가기

회원로그인

회원가입

소스코드

php php 시간차이 날짜차이 구하기

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 74회 작성일 20-07-15 16:36

본문

1. 시간차이 구하기

getTimestamp() 이용하여 타임스탬프 값으로 계산하는 방법


$now = new DateTime();  // 현재일시
$before = new DateTime(‘2018-01-31 15:15:15’);
$diff = $now->getTimestamp() – $before->getTimestamp();

getTimestamp() 메서드는 Unix Timestamp 값을 반환합니다.
단순히 몇 초, 몇 분 등 시간차를 얻어올 때는 이 방식이 가장 좋겠네요.
10초의 차이라면 $diff 값은 10이 되겠네요.


2. 날짜차이 구하기

diff() 또는 date_diff() 함수를 이용하는 방법
역시 시간 문자열을 DateTime() 객체로 변환해야 합니다.


$dt1 = new DateTime(‘2018-01-30 12:12:12’);
$dt2 = new DateTime(‘2018-01-31 15:15:15’);
$diff = date_diff($dt1, $dt2);

또는 $diff = $dt1->diff($dt2);

php.net 의 함수레퍼런스 페이지를 통해 date_diff() 함수를 확인해보면 아래와 같은 설명이 나오네요. 시간차를 얻는 파워풀한 함수라는 설명에서 알 수 있듯 반환받게 될 결과값은 아래와 같은 형식을 가집니다. 비교해서 간단히 차이만 얻을 때는 오히려 맞지 않겠네요.

Powerful Function to get two date difference.
//////////////////////////////////////////////////////////////////////
//PARA: Date Should In YYYY-MM-DD Format
//RESULT FORMAT:
// ‘%y Year %m Month %d Day %h Hours %i Minute %s Seconds’        =>  1 Year 3 Month 14 Day 11 Hours 49 Minute 36 Seconds
// ‘%y Year %m Month %d Day’                                    =>  1 Year 3 Month 14 Days
// ‘%m Month %d Day’                                            =>  3 Month 14 Day
// ‘%d Day %h Hours’                                            =>  14 Day 11 Hours
// ‘%d Day’                                                        =>  14 Days
// ‘%h Hours %i Minute %s Seconds’                                =>  11 Hours 49 Minute 36 Seconds
// ‘%i Minute %s Seconds’                                        =>  49 Minute 36 Seconds
// ‘%h Hours                                                    =>  11 Hours
// ‘%a Days                                                        =>  468 Days
//////////////////////////////////////////////////////////////////////




$d1 = new DateTime("2020-07-15 12:06:07");
$d2 = new DateTime("2020-07-15 11:06:07");
$d3 = $d1->getTimestamp() - $d2->getTimestamp();

$d4
= $d3 / 60 / 60;

echo
$d4;

 

댓글목록

등록된 댓글이 없습니다.