소요되는 시간 계산을 하고 싶은데요.
본문
A의 값은 2017:01:06 12:30:00 이고
B의 값은 2017:01:06 12:55:30 이라고 하면
소요된 시간이 25분 30초 인데...
이걸 계산해서 25분 30초로 출력하려면 어떻게 해야 할까요?
답변 5
$a = strtotime("2017:01:06 12:30:00");
$b = strtotime("2017:01:06 12:55:30");
$timestamp = $b - $a;
$second = $timestamp % 60;
$minute = intval($timestamp / 60);
$hour = intval($timestamp / 3600);
$day = intval($timestamp / 86400);
if( $day > 0 ) echo $day ."일 ";
if( $hour > 0 ) echo $day ."시간 ";
if( $minute > 0 ) echo $day ."분 ";
echo $second ."초";
오타...
11번줄에 분을 출력해야하는데 시간 출력하네요. ㅋㅋ
아니 변수에 이름까지 써줬는데 갖다 쓰더라도 이해를 합시다!!...
한번씩 이해하려고 노력했으면 다들 찾았을텐데 ㅠ ㅠ
if( $minute > 0 ) echo $minute ."분 ";
10번줄은
if( $hour > 0 ) echo $hour ."분 ";
빠른 코딩을 위해 복사 붙여넣기 신공을 쓰다보면 종종하는 실수...
그냥단순하게
A의 값은 2017:01:06 12:30:00 이고
B의 값은 2017:01:06 12:55:30 이라고 하면
$a = 20170106123000
$b = 20170106125530
이렇게 전체를 숫자로해서 빼기해서 이후에 data함수로 뿌려줘도 될것같네요
<?php
$date1 = new DateTime('2017:01:06 12:30:00');
$date2 = new DateTime('2017:01:06 12:55:30');
$diff = date_diff($date1, $date2);
echo '차이나는 시간: '.$diff->y .'년 '.$diff->m .'월 '.$diff->d .'일 '.$diff->h .'시 '.$diff->i .'분 '.$diff->s .'초';
?>
===>
차이나는 시간: 0년 0월 0일 0시 25분 30초
DateTime 클래스는 php5 이상만 지원해요... 뭐 지금 php5 아래 버전 쓰는곳은 없겠지만...