simenss Skrevet 9. september 2007 Skrevet 9. september 2007 (endret) Jeg jobber for tiden med tidssoner i et prosjekt, og har støtt på et en liten "utfordring". Ved hjelp av JavaScript har jeg funnet brukerens aktuelle tidssone, men dette tallet oppgis ikke i minutter (00 - 59), men fra 00 - 99. Jeg ønsker en funksjon som konverterer f.eks. -2.5 timer til -02:30, slik at dette kan settes inn i en database. Jeg vet at jeg kan gjøre hvert tall om til en array, ta en utregning osv. men jeg ønsker en mer "delikat" løsning. F.eks. om PHP har en innebygget funksjon for dette formålet, noe den sikkert har EDIT: Om dette er noe som kan gjøres direkte i en mySQL-spørring, tar jeg gjerne imot tips om dette også. Tallet skal uansett inn i databasen, så det er egentlig unødvendig å bry PHP med dette Endret 9. september 2007 av simenss
Gjest Slettet+142 Skrevet 9. september 2007 Skrevet 9. september 2007 (endret) edit4: Fikset hele funksjonen, og testet den. Funker med positive og negative tall function dec_to_time( $decimal ){ $negativ = ($decimal < 0); $decimal = abs($decimal); $timer = floor($decimal); $desimaler = $decimal - $timer; $minutter = number_format($desimaler * 60, 0); if($minutter < 10) $minutter = '0'.$minutter; return (($negativ) ? '-' :' ') . $timer . ':' . $minutter; } Det som stod her før edit4: function dec_to_time( $decimal ){ $timer = floor($decimal); if($decimal >= 0) $desimaler = $decimal - $timer; else $desimaler = $decimal + timer; $minutter = number_format($desimaler * 60, 0); return $timer . ':' . (($minutter < 10) ? '0'.$minutter : $minutter); } Slik? edit: number_format() edit2: ledende null edit3: fikse minuttutregningen, så den støtter negative tall kanskje? Endret 9. september 2007 av Slettet+142
simenss Skrevet 9. september 2007 Forfatter Skrevet 9. september 2007 (endret) Takk for svar! Det var egentlig noe slikt jeg ville unngå Tenkte kanskje PHP hadde en innebygget funksjon for dette, uten å benytte IF etc. Men om det ikke kommer noen mer "delikate" forslag, stjeler jeg koden din. Unødvendig å skrive den selv, når andre gjør jobben for en Og ja, den må støtte negative tall. Endret 9. september 2007 av simenss
MC2 Skrevet 9. september 2007 Skrevet 9. september 2007 Jeg bare lurer på hvordan noen kan være i en tidssone som er feks 2.5 timer fra din. Hvis jeg ikke tar helt feil nå så er det en times forskjell mellom hver tidssone, hvordan får du til desimaltall da?
simenss Skrevet 9. september 2007 Forfatter Skrevet 9. september 2007 Jeg bare lurer på hvordan noen kan være i en tidssone som er feks 2.5 timer fra din. Hvis jeg ikke tar helt feil nå så er det en times forskjell mellom hver tidssone, hvordan får du til desimaltall da? 9459424[/snapback] Det finnes flere land som har tidssone som gir desimaler. F.eks. India som har UTC + 5:30
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å