Seconden omzetten in hh:ss formaat
Onder hh:ss formaat verstaan we bijvoorbeeld 20:30 wat voor half negen ‘s avonds staat. Willen we bijvoorbeeld 180 seconden omzetten in hh:ss formaat, dan willen we als resultaat 03:00. Nu kan je dit in code verwezenlijken door middel van een hoop gereken met for-loopjes en wat nog allemaal. Maar het kan ook simpeler, véél simpeler.
< ?php function formatSeconds ($seconds) { return sprintf ("%02d:%02d", floor($seconds / 60), ($seconds % 60)); } ?>
Bovenstaande code is hoe we het gaan verwezenlijken. Het is eigenlijk heel simpel.
< ?php floor($seconds / 60); ?>
Dit rekent het aantal uren uit per gegeven seconden.
< ?php ($seconds % 60); ?>
Dit rekent het aantal resterende seconden uit.
Door middel van sprintf, vullen we de correcte waarden in het correcte formaat in. Als we dan bijvoorbeeld deze code uitvoeren:
< ?php function formatSeconds ($seconds) { return sprintf ("%02d:%02d", floor($seconds / 60), ($seconds % 60)); } echo formatSeconds (1200); echo '<br />'; echo formatSeconds (150); echo '<br />'; echo formatSeconds (60); echo '<br />'; echo formatSeconds (0); echo '<br />'; ?>
Dit geeft netjes het resultaat:
20:00 02:30 01:00 00:00
- Geplaatst op 18/04/2009 door Jeroen Heymans
- Geplaatst in Php
- 1,400 views
- Reageren?