Sven Rautenberg: Sekunden in Minuten:Sekunden umrechnen

Beitrag lesen

Hallo, Anne!

2:35 => 2 Minuten und 35 Sekunden

<?php
  $s=155;

$k=sprintf("%s:%02s",floor($s/60),$s%60);

echo $k;
?>

Eine wirklich elegante Lösung. Allerdings mit einem kleinen Schönheitsfehler:

Die Funktion "floor" rechnet wie gewohnt bei positiven Zahlen, aber bei negativen Zahlen (die ja durchaus auftreten könnten) wird sie "falsch" rechnen:
floor(1.6) = 1
floor(-1.6) = -2

Aber warum überhaupt mit floor rumärgern, wenn sprintf die Nachkommastellen einfach abschneiden kann?

Damit keine zwei negativen Vorzeichen sichtbar werden, wird die Sekundenzahl mit abs() dann noch positiv gemacht, und fertig. :)

$k = sprintf("%d:%02s",$s/60,abs($s%60));

- Sven Rautenberg