Avatar billede floetti Nybegynder
04. juli 2003 - 18:00 Der er 10 kommentarer og
1 løsning

differance imellem timer

Hej !

Hvordan kan jeg få vist hvor mange timer er imellem to input?

Jeg har 4 former:

1. "fromH" = timer
2. "fromMin" = minutter

3. "untilH" = timer
4. "untilMin" = minutter

Det jeg gerne vil have at de to klokkesletter skal gøre er at checke efter om time tallet er under eller over 24 timer, og så skal de lave et 0 "hvis under 24 timer" eller 1 "hvis over 24 timer" !!!

Er det muligt ??

På forhånd tak

-> floetti
Avatar billede ahv Nybegynder
04. juli 2003 - 18:33 #1
Mon du kan tricke noet ud af dette? Har ikke lige tid til selv at skrive det om. ->

<?php
$startdato = "2001-01-12 18:08:25";
$slutdato = date("Y-m-d H:i:s");
$start = strtotime($startdato);
$slut = strtotime($slutdato);
$diff = $slut-$start;

$t_minutter = floor($diff/60);
$t_timer = floor($t_minutter/60);

$dage = floor($t_timer/24);
$timer = $t_timer % 24;
$minutter = $t_minutter % 60;
$sekunder = $diff % 60;

echo "Imellem <b>$startdato</b> og <b>$slutdato</b> er der:<br>";
echo "Der er $dage dage, $timer timer, $minutter minutter og $sekunder sekukunder";
?>
Avatar billede floetti Nybegynder
04. juli 2003 - 18:44 #2
Hej !

Tak for gode svar, men jeg vil gerne have det uden dato !

skal jeg so bare fjerne dato formatet ??
Avatar billede ahv Nybegynder
04. juli 2003 - 18:46 #3
<?php
$startdato = "08:08:30";
$slutdato = "23:08:25";
$start = strtotime($startdato);
$slut = strtotime($slutdato);
$diff = $slut-$start;

$t_minutter = floor($diff/60);
$t_timer = floor($t_minutter/60);

$timer = $t_timer % 24;
$minutter = $t_minutter % 60;
$sekunder = $diff % 60;

echo "Imellem <b>$startdato</b> og <b>$slutdato</b> er der:<br>";
echo "$timer timer, $minutter minutter og $sekunder sekukunder";
?>
Avatar billede floetti Nybegynder
04. juli 2003 - 19:15 #4
SUPER ;)

det virker... men nu har jeg sp alligevel inført dato, men den tæller ikke op i mere end 15 timer !

Hvorfor det?
Avatar billede floetti Nybegynder
04. juli 2003 - 19:16 #5
$datostart = $_POST[start_dag];
    $maanedstart = $_POST[start_maaned];
    $aarstart = $_POST[start_aar];
   
    $starttimer = $_POST[fromH];
    $startmin = $_POST[fromMin];
   
    $datoslut = $_POST[slut_dag];
    $maanedslut = $_POST[slut_maaned];
    $endaar = $_POST[slut_aar];
   
    $endtimer = $_POST[untilH];
    $endmin = $_POST[untilMin];
   
    $startdato = "$datostart-$maanedstart-$aarstart $starttimer:$startmin:00";
    $slutdato = "$datoslut-$maanedslut-$endaar $endtimer:$endmin:00";
    $start = strtotime($startdato);
    $slut = strtotime($slutdato);
    $diff = $slut-$start;

    $t_minutter = floor($diff/60);
    $t_timer = floor($t_minutter/60);

    $dage = floor($t_timer/24);
    $timer = $t_timer % 24;
    $minutter = $t_minutter % 60;
    $sekunder = $diff % 60;

    $timernow = $timer*-1;
   
    echo "Imellem <b>$startdato</b> og <b>$slutdato</b> er der:<br>";
    echo "$timernow timer, $minutter minutter og $sekunder sekukunder<br>";
    if($timernow > 24){
    echo "1";
    }else{
    echo "0";
    }
Avatar billede floetti Nybegynder
04. juli 2003 - 19:26 #6
Jo den tæller rigtigt, men den tæller ikke dato op i, alså at den tæller bare indenfor 24 timer, ligemeget om jeg angiver en dag er 20 dage større !!!
Avatar billede ahv Nybegynder
04. juli 2003 - 19:30 #7
Du skal angive tiden i YYYY-MM-DD

$startdato = "$datostart-$maanedstart-$aarstart $starttimer:$startmin:00";

Skal altså være ->
$startdato = "$aarstart-$maanedstart-$datostart $starttimer:$startmin:00";

Det samme med de andre.
Avatar billede ahv Nybegynder
04. juli 2003 - 19:32 #8
Som du nu selv siger inddørste du alligevel datoen, så for at få dage ->

$dage = floor($t_timer/24);

echo "Imellem <b>$startdato</b> og <b>$slutdato</b> er der:<br>";
echo "Der er $dage dage, $timer timer, $minutter minutter og $sekunder sekukunder";
?>
Avatar billede floetti Nybegynder
04. juli 2003 - 19:36 #9
Prøv http://floetti.dk/tests/dato.php

Her har jeg lagt scriptet ud ;)
Avatar billede floetti Nybegynder
04. juli 2003 - 19:38 #10
Hvis man vælger et klokkeslet som er 12 til start og f.eks. 21 til slut... , så går dagene AMOK !
Avatar billede floetti Nybegynder
04. juli 2003 - 20:01 #11
Fint jeg har bikset lidt og fik det så at virke ;)

Tusind tak... ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester