Aus gesundheitlichen Gründen kann ich diese Seite nicht weiterpflegen, aktualisieren oder euch Support für eure PHP-Probleme anbieten. PHP für dich bleibt aber in seiner aktuellen Form erhalten und funktioniert nach wie vor als Einstieg in die PHP-Welt - gerade, wenn dich technischere Anleitungen bisher immer davon abgehalten haben.
Mehr dazu...

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: 1713568290

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. Bevor wir allerdings etwas mit den Datumsfunktionen von PHP machen, legen wir erstmal die gewünschte Zeitzone fest. Das funktioniert über date_default_timezone_set.
<?php
date_default_timezone_set("Europe/Berlin");
$timestamp = time();
?>
Die erste Codezeile legt die Zeitzone fest. In der zweiten Codezeile verwenden wir den kurzen Befehl time() und ermitteln damit den aktuellen UNIX-Timestamp und speichern ihn - zur weiteren Verarbeitung - in der Variable timestamp.

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 20.04.2024 - 01:11 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(1,11,0,4,20,2024);
?>
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 20.4.2024 um 1:11: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


Spenden via PayPal

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