PHP-Funktionen (III): Sekunden zu Jahre:Tage:Stunden:Minuten:Sekunden

Weißt du, was am 14.02.2009 um 00:31:30 Uhr war? – Nein? Da sind genau 1234567890 Sekunden seit Beginn der Unix-Epoche (1.1.1970 00:00:00 Uhr GMT) vergangen…
Warum erzähle ich das? Der Computer speichert ein Datum oder eine Uhrzeit, indem er die Sekunden seit Beginn der Unix-Epoche speichert. Jetzt gerade ist es für den Computer .

Um eine Zeitdauer für den Menschen lesbar zu machen, bietet es sich an – anders als beim Computer – nicht die Sekunden auszugeben, sondern die Sekunden in Jahre:Tage:Stunden:Minuten:Sekunden umzurechnen. Folgende Funktion tut dies:
[code lang=’php‘]
function SekundenZuFormatString($sekunden)
{
//Erstelle String mit folgendem Aufbau y:d:h:m:s
//0:000:00:00

//Jahr: 60*60*24*365 = 31536000 Sekunden
$jahre = floor($sekunden / 31536000);
$sekunden = $sekunden % 31536000;

//Tag: 60*60*24 = 86400 Sekunden
$tage = floor($sekunden / 86400);
$tage = str_pad($tage, 3, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 86400;

//Stunde: 60*60 = 3600 Sekunden
$stunden = floor($sekunden / 3600);
$stunden = str_pad($stunden, 2, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 3600;

//Minute: 60 Sekunden
$minuten = floor($sekunden / 60);
$minuten = str_pad($minuten, 2, „0“, STR_PAD_LEFT);
$sekunden = $sekunden % 60;

$sekunden = str_pad($sekunden, 2, „0“, STR_PAD_LEFT);

return $jahre.‘:‘.$tage.‘:‘.$stunden.‘:‘.$minuten.‘:‘.$sekunden;
}
[/code]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.