jogil Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 Hei, har sittet og puslet litt med ventrilostatus, og ser at denne viser oppetid og innlogget tid i sekunder. Jeg har prøvd meg litt fram, funnet noen script på nettet, fikk gjort om til minutter, men står fast på timer. Dette er hva jeg har klart: $seconds = $stat->m_uptime; $minutes = floor($seconds/60); $secondsleft = $seconds%60; if($minutes<10) $minutes = "0" . $minutes; if($secondsleft<10) $secondsleft = "0" . $secondsleft; VentriloInfoEX1_Stripe( $bgidx, "Server oppetid", "$minutes:$secondsleft minutes" ); Hvordan løser jeg det med timer? Lenke til kommentar
grimjoey Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 $secondsPerHour = 60 * 60 * 24; if ( $seconds > $secondsPerHour ) { $hours = $seconds / $secondsPerHour; $seconds = $seconds % $secondsPerHour; } Lenke til kommentar
JButton Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 1 time = 3600 sekunder ;-) Lenke til kommentar
jogil Skrevet 2. februar 2008 Forfatter Del Skrevet 2. februar 2008 (endret) Takk, men hvordan løser jeg det som skal skrives ut? VentriloInfoEX1_Stripe( $bgidx, "Server oppetid", "$minutes:$secondsleft minutes" ); 1 time = 3600 sekunder ;-) Jeg er ganske ny i PHP Edit: Jeg prøvde meg på: $seconds = $stat->m_uptime; $minutes = floor($seconds/60); $secondsleft = $seconds%60; if($minutes<10) $minutes = "0" . $minutes; if($secondsleft<10) $secondsleft = "0" . $secondsleft; $secondsPerHour = 60 * 60 * 24; if ( $seconds > $secondsPerHour ) { $hours = $seconds / $secondsPerHour; $seconds = $seconds % $secondsPerHour; } VentriloInfoEX1_Stripe( $bgidx, "Server oppetid", "$hours:$minutes:$secondsleft minutes" ); Men dette ble resultatet: Server oppetid 15.8834375:22872:09 minutes Endret 2. februar 2008 av jogil Lenke til kommentar
grimjoey Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 (endret) Det var riktig bortsett fra at koden jeg skrev må stå først. Rett etter $seconds = $stat->m_uptime; også kan du fjerne "minutes" fra resultatet, ettersom du viser timer:minutter:sekunder Endret 2. februar 2008 av grimjoey Lenke til kommentar
jogil Skrevet 2. februar 2008 Forfatter Del Skrevet 2. februar 2008 (endret) Nå endret jeg det. $seconds = $stat->m_uptime; $secondsPerHour = 60 * 60 * 24; if ( $seconds > $secondsPerHour ){ $hours = $seconds / $secondsPerHour; $seconds = $seconds % $secondsPerHour; $minutes = floor($seconds/60); $secondsleft = $seconds%60; if($minutes<10) $minutes = "0" . $minutes; if($secondsleft<10) $secondsleft = "0" . $secondsleft; } VentriloInfoEX1_Stripe( $bgidx, "Server oppetid", "$hours:$minutes:$secondsleft" ); Men da blir resultatet: 15.913668981481:1315:41 Edit: Dette blir vel 15 dager, men gjør jeg om de resterende 0.913668981481 dagene til timer? Hadde vært fint om dette ble til Feks: 15 dager, 10:20:30 Endret 2. februar 2008 av jogil Lenke til kommentar
pulse Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 <?php $seconds = $stat->m_uptime; $days = floor($seconds / 86400); $seconds = $seconds - ($days * 86400); $hours = floor($seconds / 3600); $seconds = $seconds - ($hours * 3600); if ($hours < 10) $hours = "0" . $hours; $minutes = floor($seconds / 60); $seconds = $seconds - ($minutes *60); if ($minutes < 10) $minutes = "0" . $minutes; if ($seconds < 10) $seconds = "0" . $seconds; echo "$days dager, $hours:$minutes:$seconds"; ?> Lenke til kommentar
jogil Skrevet 2. februar 2008 Forfatter Del Skrevet 2. februar 2008 <?php$seconds = $stat->m_uptime; $days = floor($seconds / 86400); $seconds = $seconds - ($days * 86400); $hours = floor($seconds / 3600); $seconds = $seconds - ($hours * 3600); if ($hours < 10) $hours = "0" . $hours; $minutes = floor($seconds / 60); $seconds = $seconds - ($minutes *60); if ($minutes < 10) $minutes = "0" . $minutes; if ($seconds < 10) $seconds = "0" . $seconds; echo "$days dager, $hours:$minutes:$seconds"; ?> Denne fungerte perfekt, takker og bukker dypt. Lenke til kommentar
grimjoey Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 Dæven. Jeg blandet dager og timer. Oops Lenke til kommentar
Runar0 Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 Bare en kommentar til koden som pulse posta: Det hadde kanskje vert smartere å bruke modus (%) enn floor(x / y) ettersom at modus er mer egna til dette. Eks: $minutes = $seconds % 60; Lenke til kommentar
grimjoey Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 (endret) modulo eller modulus heter det http://en.wikipedia.org/wiki/Modulo_operation function modulo ( $a, $b ) { $dividert = $a / $b; $nevner = $a - floor( $dividert ); if ( $modulus == ( $a % $b ) ) print "Yeah!"; return $nevner; } Endret 2. februar 2008 av grimjoey Lenke til kommentar
jogil Skrevet 2. februar 2008 Forfatter Del Skrevet 2. februar 2008 Bla bla bla, skjønner ikke en dritt av hva dere diskuterer. Men takk for hjelpen. =D Skål! Lenke til kommentar
Runar0 Skrevet 2. februar 2008 Del Skrevet 2. februar 2008 haha beklager feil navn xD 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å