Odejmowanie czasów PHP


(Matimichalak) #1

Witam. Szukałem skryptu odejmowania czasów w php na stronach lecz nigdzie nie znalazłem nic konkretnego. Znalazłem mnóstwo skryptów dot. odejmowania dat. Jeden przerobiłem i działa, lecz wynik jest kolokwialny.


(-Puma-) #2

Nie wiem po co takie skomplikowane obliczenia ale jeżeli wystarczy odejmowanie czasu to wystarczy krótki kod:

function OdejCzas($hh1, $mm1, $hh2, $mm2) {
$hh = $hh2 - $hh1;
$mm = $mm2 - $mm1;
$wynik = date('H:i',mktime($hh,$mm,0,0,0,2014));
return $wynik;
}

echo OdejCzas($_GET['godzina'], $_GET['minuta'], $_GET['godzina1'], $_GET['minuta1']);

(Matimichalak) #3

Bardzo mi to uprościło życie :> Dzięki Puma. Troszkę zmodyfikowałem twój kod, do formularza dodałem jeszcze sekundy, ale nie wyświetlają się one w wyniku. Poza tym wszystko okej.

<?php
function OdejCzas($hh1, $mm1, $ss1,$hh2, $mm2, $ss2) {
$hh = $hh2 - $hh1;
$mm = $mm2 - $mm1;
$ss = $ss2 - $ss1;
$wynik = date('H:i',mktime($hh,$mm,$ss,0,0,2014));
return $wynik;
}


?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
</HEAD>
<BODY><H3>
<?PHP
echo OdejCzas($_GET['godzina'], $_GET['minuta'], $_GET['sekunda'], $_GET['godzina1'], $_GET['minuta1'], $_GET['sekunda1']);
?>
</H3></BODY>
</HTML>

(-Puma-) #4

Zmień jeszcze to:

H:i:s

Małe s to są sekundy. To jest w jakim formacie pokazuje czas.

http://php.net/manual/pl/function.date.php


(Matimichalak) #5

Właśnie miałem pisać, że już działa :slight_smile: Dzięki za czujność i pomoc. Bardzo mi pomogłeś/aś !