formatted Skrevet 27. juli 2007 Del Skrevet 27. juli 2007 Hei hei, Jeg holder på med en kode for å sjekke hvor mange timer, minutter og sekunder det er fra en timestamp til en annen. Jeg har en funksjon som registrerer en timestamp, så har jeg en annen funksjon som viser tiden fra timestamp'et til nåtid. Jeg føler jeg nesten er på plass, siden det nesten funker Eller kanskje ikke...? Her er et eksempel fra hva den poster: "Delay: 0 hours, -1min, -20sec". Det jeg selvsagt vil den skal vise, er: "Delay: 0 hours, 3min, 24sec" f.eks. Her er koden for funksjonene: Dette er koden som setter et timestamp i en mysql db. mysql_connect($hostname, $user, $password) or die("SQL: ErrorID 117."); mysql_select_db($db); // Time Setup $currentDATE = date("Ymd"); $currentYEAR = date ("Y"); $currentMONTH = date("m"); $currentDAY = date("d"); $currentHOUR = date("G"); $currentMINUTE = date("i"); $currentSECOND = date("s"); $status = date("H:i:s - j. F"); $sql = "UPDATE check SET currentMONTH='$currentMONTH',currentHOUR='$currentHOUR',currentMINUTE='$currentMINUTE',currentSECOND='$currentSECOND',currentYEAR='$currentYEAR',currentDAY='$currentDAY',currentDATE='$currentDATE' WHERE id='internal'"; $result = mysql_query($sql) or die("SQL: ErrorID 118."); Så kommer koden som henter infra fra databasen, og sammenligner. Deretter poster den ut tiden. $sql = "SELECT * FROM check WHERE id='internal'"; $result = mysql_query($sql) or die("SQL: ErrorID 141."); $row = mysql_fetch_array($result,MYSQL_ASSOC); extract($row); $status = $row['status']; $statusDATE = $row['currentDATE']; $statusHOUR = $row['currentHOUR']; $statusMINUTE = $row['currentMINUTE']; $statusSECOND = $row['currentSECOND']; // Time Setup $currentDATE = date("Ymd"); $currentHOUR = date("H"); $currentMINUTE = date("i"); $currentSECOND = date("s"); if($statusDATE==$currentDATE){ $delayHR = $currentHOUR-$statusHOUR; $delayMIN = $currentMINUTE-$statusMINUTE; $delaySEC = $currentSECOND-$statusSECOND; echo "Delay: <b>$delayHR</b> hours, <b>$delayMIN</b> min, <b>$delaySEC</b> sec"; } else { echo "Couldnt find time differance."; } Håper noen har et tips å komme med, jeg har prøvd flere metoder, men aldri fått det helt til. Har blandt annet prøvd meg på unix timestampen, og sammenlignet. Lenke til kommentar
KiKKA Skrevet 27. juli 2007 Del Skrevet 27. juli 2007 Hva med å bruke funksjonen time() slik: <?php $statusTIME = $gammelTIMEfradatabase; $currentTIME = time(); $diff = $currentTIME-$statusTIME; $hours = floor($diff/3600); $minutes = floor(($diff-(3600*$hours))/60); $seconds = $diff-($hours*3600)-($minutes*60); ?> Lenke til kommentar
formatted Skrevet 27. juli 2007 Forfatter Del Skrevet 27. juli 2007 Genialt! Mange, mange takk. Har stressa mange timer med det scriptet, men dette var fantastisk. Takk for hjelpen Lenke til kommentar
BlueEAGLE Skrevet 28. juli 2007 Del Skrevet 28. juli 2007 Du kan også kjøre date() på differansen mellom tidsstemplene mener jeg å huske. php.net/date Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå