2007. 6. 29. 15:23

입력된 시간을 5분 단위로 끈어서 입력

입력값이 "2006/12/31/23/56" 이라면 앞의 모든 값들이 시간 규칙에 맞게 +1 이 되어야
하기때문에 따로따로 나눠서 계산을 하면 상당히 구문도 길어지고 복잡해지니까
타임스탬프로 계산하는게 좋을꺼 같구요.
제가 생각한 방법은 이렇습니다.



<?php
$str = "2006/12/31/23/56";
$tmp = explode("/",$str);
$min = ($tmp[4]%5>0)? 5 - ($tmp[4]%5) : 0 ;
$time = mktime($tmp[3],$tmp[4]+$min,0,$tmp[1],$tmp[2],$tmp[0]);
echo date("Y/m/d/H/i",$time); 
?>




분의 값을 5 에서 5로 나눈 나머지 값을 빼주면 5의 배수값중에 몇분이 모자라는지 나오겠죠.
분의 값이 7 분일경우 결과값은 3이 되겠져. 5 -(7%5) = 3분
이 값을 타임스탬프로를 생성할때 더해주면 5로 딱 떨어지는 값이 나올꺼구요.
그후에 date() 함수로 입맛에 맞게 형식을 만들면 되겠네요