PHP-Funktionen date() und mktime() verwenden:

echo date('G:i', mktime(0, 97)); // 1:37
echo date('H:i', mktime(0, 97)); // 01:37

Als ersten Parameter nimmt mktime() die Anzahl der Stunden entgegen, als zweiten (optionalen) Parameter die Minuten, danach Sekunden, Monate, Tage und Jahre.

Rufst du mktime() mit mktime(0, 97) auf wären das entsprechend 0 Stunden und 97 Minuten, die du mit date() formatiert ausgeben kann. Mit dem Format-String „G:i“ erhältst du 1:37, mit „H:i“ 01:37.

Du kannst aber natürlich auch die Anzahl der Sekunden übergeben [mktime(0, 0, 120) = 120 Sekunden] oder die Argumente mischen:

mktime(1, 2, 3) = 1 Stunde, 2 Minuten und 3 Sekunden

Ebenso kannst du als Format-String auch all die anderen Zeichen verwenden (s für Sekunden mit führenden Nullen etc).


Alternativ kann man natürlich auch die Funktion sprintf benutzen:

$t = 97;
sprintf("%d:%02d",   floor($t/60), $t%60);  // 1:37
sprintf("%02d:%02d", floor($t/60), $t%60);  // 01:37

Dieser Funktion übergeben wir den Format-String und die Werte, die in dem String ersetzt werden sollen.

Im Format-String verwenden wir hier %d für einfache Integer-Werte und %02d für Integer-Werte, die auf zwei Stellen mit führenden Nullen ausgegeben werden sollen.

Als Werte übergeben wir floor($t/60) und $t%60. Indem wir durch 60 teilen und die Nachkommastellen abschneiden, erhalten wir die Anzahl der Stunden. Entsprechend holen wir uns mit $t%60 den Divisionsrest und damit die Anzahl der Minuten.

Link zu w3schools:

PHP Date and Time (w3schools.com)

Here are some characters that are commonly used for times:

  • H – 24-hour format of an hour (00 to 23)
  • h – 12-hour format of an hour with leading zeros (01 to 12)
  • i – Minutes with leading zeros (00 to 59)
  • s – Seconds with leading zeros (00 to 59)
  • a – Lowercase Ante meridiem and Post meridiem (am or pm)
Kategorien: AnweisungITPHP