Derzeit online: ca. 19 User  
Spenden via PayPal Es ist geschafft! PHP für dich ist ab sofort auch als Buch erhältlich. Endlich im handlichen Format, zum Nachschlagen, mitnehmen oder gemütlich nebenbei lesen. Mit noch mehr Informationen und zusätzlichen Beispielen!
Jetzt 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 00:00 Uhr. Dadurch entsteht zB ein solcher Wert: 1283485123

Dieser Wert ist jedoch, wie ich zugeben muss, in seiner momentanen Form nicht brauchbar. Stell dir vor, du willst auf deiner HP 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 03.09.2010 - 05:38 Uhr auszugeben gibt es zB 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 :-)

Wenn du ein Datum hast und dieses in den UNIX-Timestamp umwandeln willst, gibt es auch dafür einen Befehl:
  <?php
  $timestamp = mktime(5,38,0,9,3,2010);
  ?>
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 3.9.2010 um 5:38:00 Uhr.

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

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