Derzeit online: ca. 59 User  
Spenden via PayPal PHP für dich ist auch als Buch erhältlich - im handlichen Format, zum Nachschlagen, Mitnehmen oder gemütlichen nebenbei Lesen. Mit noch mehr Informationen, zusätzlichen Beispielen und Übungsaufgaben.
Jetzt in der aktualisierten Version bei Amazon oder BoD bestellen!


PHP

Wie spät ist es...

... denn gerade?

PHP verfügt auch über eine Datums- und Uhrzeitfunktion, die nicht nur zur Anzeige von Daten benutzt werden kann.

Das verwirrende daran ist jedoch, dass die Zeit zunächst mittels des sogenannten UNIX-Timestamp ermittelt wird. Dieser beinhaltet die Anzahl der Sekunden seit dem 1.1.1970 um 01:00 Uhr. Dadurch entsteht z. B. ein solcher Wert: 1416743365

Dieser Wert ist jedoch, wie ich zugeben muss, in seiner momentanen Form nicht brauchbar. Stell dir vor, du willst auf deiner Internetseite sagen, "Heute ist der 7. August" und du bekommst nur so ein merkwürdiges Zahlenspiel heraus.

Aus diesem Grund verfügt PHP über weitere Funktionen, die Uhrzeiten formatieren lassen. Die Grundlage dazu ist aber immer der UNIX-Timestamp.
<?php
$timestamp = time();
?>
Mit diesem kurzen Befehl time() wird der aktuelle UNIX-Timestamp ermittelt und - zur weiteren Verarbeitung - in der Variable timestamp gespeichert.

Um die Zeit jetzt angenehm zu formatieren gibt es die Funktion date (format, timestamp).

Für die Formatierung stehen hierbei sehr viel Möglichkeiten zur Verfügung (ich biete hier nur einen Auszug an, die vollständige Liste findet sich unter www.php.net):
  Format Beschreibung                          Beispiel
  ========================================================
  d      Tag des Monats, zweistellig           03, 28
  j      Tag des Monats                        7, 13
  m      Nummer des Monats, zweistellig        01, 11
  n      Nummer des Monats                     2, 10
  y      Jahr zweistellig                      99, 00
  Y      Jahr vierstellig                      1999, 2001
  H      Stunde im 24-Stunden-Format, zweist.  08, 16
  G      Stunde im 24-Stunden-Format           7, 18
  i      Minuten, zweistellig                  08, 45
  s      Sekunden, zweistellig                 06, 56

  w      Wochentag in Zahlenwert               2, 6
PHP hat zwar auch Formate zur Anzeige von Monatsnamen und Wochentagsnamen, jedoch sind diese auf Englisch und erfordern ein wenig "Spielerei".

Um ein Datum inkl. Uhrzeit im Stil von 23.11.2014 - 12:49 Uhr auszugeben gibt es z. B. folgende Schreibweise:
<?php
$datum = date("d.m.Y",$timestamp);
$uhrzeit = date("H:i",$timestamp);
echo $datum," - ",$uhrzeit," Uhr";
?>
Ich habe hierbei Datum und Uhrzeit in zwei verschieden Variablen gespeichert, da ich sie eventuell auch einzeln verwenden möchte. Es wäre aber auch die Anweisung "d.m.Y - H:i" möglich.

Keine Panik - ich kann diese ganze Tabelle auch nicht auswendig, sondern schaue im Bedarfsfall immer mal wieder nach :-)

Gibst du übrigens bei der Funktion date keinen UNIX-Timestamp an, wird automatisch das aktuelle Datum (und die aktuelle Uhrzeit) ermittelt. Das sieht dann z. B. so aus:
<?php
$datum = date("d.m.Y");
$uhrzeit = date("H:i");
echo $datum," - ",$uhrzeit," Uhr";
?>
Wenn du ein Datum hast und dieses in den UNIX-Timestamp umwandeln willst, gibt es auch dafür einen Befehl:
<?php
$timestamp = mktime(12,49,0,11,23,2014);
?>
Durch mktime wird diese Funktion aufgerufen und das Ergebnis wird in der Variable timestamp gespeichert. Die Werte in Klammer ergeben sich von links nach rechts durch Stunde, Minute, Sekunde, Monat, Tag, Jahr. Der Wert oben entspricht also dem 23.11.2014 um 12:49:00 Uhr.

Ich habe oben erwähnt, dass der Timestamp sich auf den 1.1.1970 bezieht. Er ist aber natürlich auch in der Lage, Daten anzuzeigen, die davor liegen. Dafür wird einfach ein negativer Timestamp verwendet, der dann die Sekunden vor dem 1.1.1970 anzeigt.

Erinnerst du dich, dass ich vorher gesagt habe, Monatsnamen und Wochentage werde in PHP nur in Englisch angezeigt? Nun, es gibt auch zwei Möglichkeiten, die deutschen Namen (oder jede beliebige andere Sprache) zu verwenden. Für die eine gibt es zwei spezielle Funktionen in PHP. Für die andere brauchen wir Arrays. Und genau darum geht es auf der nächste Seite.

Autor: Claudia Unkelbach

=> Weiter
© 2001 - 2014 Claudia Unkelbach
Gießener Straße 75, 35396 Gießen