24:00:00를 넘는 시간 값 (그 차이) 사이의 시간 간격을 알아야합니다.24 시간보다 큰 두 시간 간의 시간 차이를 찾는 방법
예 : 42:00:00
과 37:30:00
의 차이점을 계산하려면 어떻게해야합니까? strtotime
, strptotime
등 그들이 23시 59분 59초을 통해 갈 수 없기 때문에 쓸모가 사용
....
24:00:00를 넘는 시간 값 (그 차이) 사이의 시간 간격을 알아야합니다.24 시간보다 큰 두 시간 간의 시간 차이를 찾는 방법
예 : 42:00:00
과 37:30:00
의 차이점을 계산하려면 어떻게해야합니까? strtotime
, strptotime
등 그들이 23시 59분 59초을 통해 갈 수 없기 때문에 쓸모가 사용
....
$a_split = explode(":", "42:00:00");
$b_split = explode(":", "37:30:00");
$a_stamp = mktime($a_split[0], $a_split[1], $a_split[2]);
$b_stamp = mktime($b_split[0], $b_split[1], $b_split[2]);
if($a_stamp > $b_stamp)
{
$diff = $a_stamp - $b_stamp;
}else{
$diff = $b_stamp - $a_stamp;
}
echo "difference in time (seconds): " . $diff;
원하는 경우 date()를 사용하여 초를 HH : MM : SS로 변환하십시오.
날짜/시간 변수와 함수는 시간을 저장하지 않을 여기에 적합하지 않습니다, 대신 시간, 분, 초의 시간 범위.
각 시간 범위를 정수 구성 요소로 나누고 단일 단위 (예 : 초)로 변환 한 다음 서로 빼고 다시 출력 시간 범위를 다시 작성하는 것이 가장 좋은 해결책 일 것입니다 귀하의 신청서와 함께.
모든 exemple 볼 수 있나요? – Warface
나는이 테스트 havent 한, 그러나 이것은 당신이 원하는 것을 할 수 있습니다 작동하는지
function timediff($time1, $time2) {
list($h,$m,$s) = explode(":",$time1);
$t1 = $h * 3600 + $m * 60 + $s;
list($h2,$m2,$s2) = explode(":",$time2);
$seconds = ($h2 * 3600 + $m2 * 60 + $s2) - $t1;
return sprintf("%02d:%02d:%02d",floor($seconds/3600),floor($seconds/60)%60,$seconds % 60);
}
$ b_stamp가'mktime'에 잘못된 매개 변수를 사용하고 있으며 세미콜론이 누락되었습니다. 그렇지 않으면, 좋은 예가'mktime'은 여분의 시간을 적절한 필드로 롤백하기 때문입니다. –
매력처럼 일하고 있습니다. – Warface