Bläul.de>Computer>PHP>Befehlsreferenz>Datum & Uhrzeit>Zeit ausgeben   

Zeit ausgeben

 dateFormatiert ein Datum
 getdate Erzeugt ein Array mit Informationen über ein Datum
 gmdateFormatiert ein Datum nach GMT
 gmmktime Alias für mktime()
 microtime Gibt die Timestamp und Mikrosekunden aus
 mktimeErstellt eine Unix-Timestamp für ein Datum
 strftimeFormatiert ein Datum nach den lokalen Einstellungen
 timeGibt die aktuelle Unix-Timestamp zurück

PHP
 setlocaleÄndert die lokalen Einstellungen

 

 

date
date("datumsformat" [, "timestamp"])

Gibt eine lokale Uhrzeit oder Datum zurück. Wobei "datumsformat" die Formatierung der Ausgabe bestimmt. "timestamp" gibt die Zeit seit dem 01.01.1970 in Sekunden an. Lass' "timestamp" weg, so wird das aktuelle Datum verwendet.
Folgende Formatierungen dürfen verwendet werden:
a
"am" oder "pm" ("Vormittag" oder "Nachmittag")
A
"AM" oder "PM"
d
Tag des Monats (z.B. "09")
j
Tag des Monats ohne führende Null (z.B. "9")
t
Anzahl der Tage im Monat (z.B. "30")
z
Tag seit dem Jahresbeginn (z.B. "156")
w
numerischer Wochentag (von "0" für Sonntag bis "6" für Samstag)
D
Abkürzung des Wochentages(z.B. "Thu")
l
Vollständiger Wochentag (z.B. "Thursday")
F
vollständiger Monatsname (z.B. "December")
M
Abkürzung des Monatnamen (z.B. "Dec")
m
numerische Monatsangabe (z.B. "05")
n
numerische Monatsangabe ohne führende Null (z.B. "5")
h
Stunde in 12-Stunden Formatierung (z.B. "05")
H
Stunde in 24-Stunden Formatierung (z.B. "18")
g
Stunde in 12-Stunden Formatierung ohne führende Null (z.B. "5")
G
Stunde in 24-Stunden Formatierung ohne führende Null (z.B. "7")
i
Minute (z.B. "07")
U
Vergangene Sekunden seit dem 01.01.1970 (z.B. "4890729")
s
Sekunden (z.B. "02")
S
Englische Ordnungszahl (z.B. "th", "nd")
L
Schaltjahr. Ausgabe entweder "0" oder "1"
Y
4-stellige Jahreszahl (z.B. "1999")
y
2-stellige Jahreszahl (z.B. "99")
Z
Zeitabweichung von der GMT (von "-43200" bis "43200")

Beispielecho date("Y-F-l - H:i:s");

// Ausgabe: 2001-May-Wednesday - 18:12:10
getdate
getdate(["timestamp"])

Erzeugt ein Array für ein Datum. "timestamp" gibt die Zeit des Datums seit dem 01.01.1970 in Sekunden an. Wenn du "timestamp" weglässt, wird das aktuelle Datum verwendet.
Folgende Bezeichnungen tragen die Elemente in dem Array:
"seconds"Sekunden
"minutes"Minuten
"hours"Stunden
"mday"Tag des Monats (z.B. "23")
"wday"numerischer Wochentag (z.B. "2" für Dienstag)
"mon"numerischer Monat (z.B. "11")
"year"Jahr (z.B. "1999")
"yday"Tag seit Beginn des Jahres (z.B. "285")
"weekday"Volle Wochentagsbezeichnung (z.B. "Saturday")
"month"Voller Monatsname (z.B. "February")

Beispiel$datum = getdate();
echo "$datum[weekday], der $datum[mday]. $datum[month] $datum[year]";
gmdate
gmdate("datumsformat" [, "timestamp"])

Dieser Befehl entspricht dem Befehl date(), mit dem einzigen Unterschied, daß anstatt der lokalen Uhrzeit die Greenwich Mean Time (GMT) verwendet wird. Gibt die Greenwich Mean Time (GMT) oder ein Datum zurück, wobei "datumsformat" die Formatierung der Ausgabe bestimmt. "timestamp" gibt die Zeit seit dem 01.01.1970 in Sekunden an. Lass' "timestamp" weg, dann wird das aktuelle Datum verwendet. Folgende Formatierungen dürfen verwendet werden:
a
"am" oder "pm" ("Vormittag" oder "Nachmittag")
A
"AM" oder "PM"
d
Tag des Monats (z.B. "09")
j
Tag des Monats ohne führende Null (z.B. "9")
t
Anzahl der Tage im Monat (z.B. "30")
z
Tag seit dem Jahresbeginn (z.B. "156")
w
numerischer Wochentag (von "0" für Sonntag bis "6" für Samstag)
D
Abkürzung des Wochentages(z.B. "Thu")
l
Vollständiger Wochentag (z.B. "Thursday")
F
vollständiger Monatsname (z.B. "December")
M
Abkürzung des Monatnamen (z.B. "Dec")
m
numerische Monatsangabe (z.B. "05")
n
numerische Monatsangabe ohne führende Null (z.B. "5")
h
Stunde in 12-Stunden Formatierung (z.B. "05")
H
Stunde in 24-Stunden Formatierung (z.B. "18")
g
Stunde in 12-Stunden Formatierung ohne führende Null (z.B. "5")
G
Stunde in 24-Stunden Formatierung ohne führende Null (z.B. "7")
i
Minute (z.B. "07")
U
Vergangene Sekunden seit dem 01.01.1970 (z.B. "4890729")
s
Sekunden (z.B. "02")
S
Englische Ordnungszahl (z.B. "th", "nd")
L
Schaltjahr. Ausgabe entweder "0" oder "1"
Y
4-stellige Jahreszahl (z.B. "1999")
y
2-stellige Jahreszahl (z.B. "99")
Z
Zeitabweichung von der GMT (von "-43200" bis "43200")

Beispielecho date("Y-F-l - H:i:s");

// Ausgabe: 2001-May-Wednesday - 17:14:22
gmmktime(Alias für mktime)
gmmktime("stunde", "minute", "sekunde", "monat", "tag", "jahr")

Erstellt eine Unix-Timestamp für das angegebene Datum. Eine Unix-Timestamp zählt die Anzahl der Sekunden seit dem Beginn der Unix-Epoche (01.01.1970). Die zugrundegelegte Zeitzone ist die GMT.
Beispielecho mktime(8, 30, 0, 5, 23, 1999)." | ";
echo date("d. F Y", mktime(0, 0, 0, 7, 15, 1999));

// Ausgabe: 927441000 | 15. July 1999
microtime
microtime()

Gibt eine Zeichenkette zurück, die aus zwei durch ein Leerzeichen getrennte Teilen besteht. Der erste Teil gibt die Sekunden inklusive Mikrosekunden an. Der zweite Teil ist die Unix-Timestamp für die aktuelle Uhrzeit. Eine Unix-Timestamp zählt die Anzahl der Sekunden seit dem Beginn der Unix-Epoche (01.01.1970).
Beispielecho microtime();

// Ausgabe: 0.78995300 989425060
mktime
mktime("stunde", "minute", "sekunde", "monat", "tag", "jahr")

Erstellt eine Unix-Timestamp für das angegebene Datum. Eine Unix-Timestamp zählt die Anzahl der Sekunden seit dem Beginn der Unix-Epoche (01.01.1970). Die zugrundegelegte Zeitzone ist die GMT.
Beispielecho mktime(8, 30, 0, 5, 23, 1999)." | ";
echo date("d. F Y", mktime(0, 0, 0, 7, 15, 1999));

// Ausgabe: 927441000 | 15. July 1999
Siehe auch setlocale()
strftime
strftime($datumsformat [, $timestamp])

Gibt eine lokale Uhrzeit oder Datum zurück, formatiert nach den lokalen Einstellungen. Dabei bestimmt datumsformat die Formatierung der Ausgabe. timestamp gibt die Zeit seit dem 01.01.1970 in Sekunden an. Lässt du ganz einfach "timestamp" weg, wird das aktuelle Datum verwendet. Die lokalen Einstellungen kannst du mit dem Befehl setlocale() ändern.
Folgende Formatierungen dürfen verwendet werden (die Beispiele beziehen sich auf ein System mit US-Einstellung):
%a
Abkürzung des Wochentages(z.B. "Thu")
%A
Vollständiger Wochentag (z.B. "Thursday")
%b
Abkürzung des Monatnamen (z.B. "Dec")
%B
vollständiger Monatsname (z.B. "December")
%c
Standard-Ausgabe des Datums mit Zeit (z.B. 11/16/99 19:37:06)
%d
Tag des Monats ohne führende Null (z.B. "9")
%H
Stunde in 24-Stunden Formatierung (z.B. "18")
%I
Stunde in 12-Stunden Formatierung (z.B. "05")
%j
Tag seit dem Jahresbeginn (z.B. "096")
%m
numerische Monatsangabe (z.B. "5")
%M
Minute (z.B. "07")
%p
"am" oder "pm" ("Vormittag" oder "Nachmittag")
%S
Sekunden (z.B. "02")
%U
Wochennummer (1. Sonntag ist Wochenbeginn, z.B. "49")
%W
Wochennummer (1. Montag ist Wochenbeginn)
%w
numerischer Wochentag (von "0" für Sonntag bis "6" für Samstag)
%x
Standard-Ausgabe des Datums (z.B. 11/16/99)
%X
Standard-Ausgabe der Zeit (z.B. 19:37:06)
%y
2-stellige Jahreszahl (z.B. "99")
%Y
4-stellige Jahreszahl (z.B. "1999")
%Z
Zeitzonen Bezeichnung oder Abweichung
%%
Das Prozent-Zeichen (%)

Beispielsetlocale("LC_TIME", "C");
echo strftime("%A ist auf Deutsch ");
setlocale("LC_TIME", "ge");
echo strftime("%A");

// Ausgabe: Tuesday ist auf Deutsch Dienstag
Siehe auch setlocale()
time
time()

Erstellt eine Unix-Timestamp für die aktuelle Uhrzeit. Eine Unix-Timestamp zählt die Anzahl der Sekunden seit dem Beginn der Unix-Epoche (01.01.1970).
Beispielecho time()

// Ausgabe: 989425716
setlocale
setlocale("kategorie", "land")

Verändert die lokalen Einstellungen der angegebenen Kategorie entsprechend des Landes.

Folgende Kategorien stehen zur Verfügung: LC_ALL für alle Einstellungen
LC_CTYPE für die Umwandlung von Zeichenketten, z.B. bei strtoupper() LC_NUMERIC für numerische Operatoren
LC_TIME für die Datum/Zeit-Formatierung bei strftime()

Manche Server sind etwas anders eingestellt, und interpretieren den Parameter "de" nur mit der Einstellung "de_DE". Weitere Möglichkeiten wären "g" oder "gw". Bei meinem Server funktioniert es am besten mit den Sprach-Adjektiven in reinem Englisch, also "german" oder "swedish".

Ist land Null oder "0", werden keine Einstellungen verändert, sondern als Ergebnis zurückgegeben.
Beispielsetlocale("LC_TIME", "us");
echo strftime("%A, ");
setlocale("LC_TIME", "fr");
echo strftime("%A, ");
setlocale("LC_TIME", "ge");
echo strftime("%A");

// Ausgabe: Sunday, dimanche, Sonntag