(PHP 5 >= 5.2.0, PHP 7, PHP 8)
DateTimeInterface::format -- DateTimeImmutable::format -- DateTime::format -- date_format — Liefert das Datum formatiert gemäß dem angegebenen Format
Objektorientierter Stil
Prozeduraler Stil
Gibt das Datum im angegebenen Format zurück.
object
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt.
format
Das Format des ausgegebenen Datums vom Typ string. Siehe
die Formatierungsoptionen unten. Es gibt auch mehrere
vordefinierte Datumskonstanten,
die stattdessen verwendet werden können, z. B. enthält
DATE_RSS
die Formatzeichenkette
'D, d M Y H:i:s'
.
format -Zeichen |
Beschreibung | Mögliche Rückgabewerte |
---|---|---|
Tag | --- | --- |
d |
Tag des Monats; zwei Ziffern mit vorangestellter Null | 01 bis 31 |
D |
Textuelle Darstellung eines Tages; drei Buchstaben | Mon bis Sun |
j |
Tag des Monats; zwei Ziffern ohne vorangestellte Null | 1 bis 31 |
l (kleines 'L') |
Vollständige textuelle Darstellung eines Tages | Sunday bis Saturday |
N |
Numerische Darstellung eines Wochentags gemäß ISO-8601 | 1 (für Montag) bis 7 (für Sonntag) |
S |
Englisches Ordnungssuffix für den Tag des Monats; zwei Buchstaben |
st , nd , rd
oder th ; funktioniert gut mit j
|
w |
Numerische Darstellung eines Wochentags | 0 (für Sonntag) bis 6 (für Samstag) |
z |
Tag des Jahres (beginnend bei 0) | 0 bis 365 |
Woche | --- | --- |
W |
Wochennummer eines Jahres gemäß ISO-8601; die Wochen beginnen am Montag | Beispiel: 42 (die 42. Woche des Jahres) |
Monat | --- | --- |
F |
Vollständige textuelle Darstellung eines Monats, z. B. January oder March | January bis December |
m |
Numerische Darstellung eines Monats; mit vorangestellter Null | 01 bis 12 |
M |
Kurze textuelle Darstellung eines Monats; drei Buchstaben | Jan bis Dec |
n |
Numerische Darstellung eines Monats; ohne vorangestellte Null | 1 bis 12 |
t |
Anzahl der Tage des angegebenen Monats | 28 bis 31 |
Jahr | --- | --- |
L |
Gibt an, ob es ein Schaltjahr ist | 1 wenn es ein Schaltjahr ist, andernfalls 0 |
o |
Jahreszahl gemäß ISO 8601-Wochennummer. Dies hat den gleichen Wert
wie Y , außer wenn die ISO-Wochennummer
(W ) zum vorherigen oder nächsten Jahr gehört;
dann wird stattdessen das Jahr dieser Woche verwendet.
|
Beispiele: 1999 oder 2003 |
X |
Erweiterte vollständige numerische Darstellung einer Jahreszahl,
mindestens 4-stellig, mit - für Jahre vor
Christus und + für Jahre nach Christus.
|
Beispiele: -0055 , +0787 ,
+1999 , +10191
|
x |
Erweiterte vollständige numerische Darstellung einer Jahreszahl,
falls erforderlich, oder standardmäßige vollständige numerische
Darstellung, falls möglich (wie Y ). Mindestens
vier Ziffern. Jahren vor Christi Geburt wird ein
- vorangestellt. Jahreszahlen über
(und einschließlich) 10000 werden mit einem
+ eingeleitet.
|
Beispiele: -0055 , 0787 ,
1999 , +10191
|
Y |
Vollständige numerische Darstellung einer Jahreszahl; mindestens
vier Ziffern, mit - für die Jahre vor Christus
|
Beispiele: -0055 , 0787 ,
1999 , 2003 ,
10191
|
y |
Darstellung einer Jahreszahl; zwei Ziffern | Beispiele: 99 oder 03 |
Zeit | --- | --- |
a |
Ante meridiem und Post meridiem in Kleinbuchstaben | am oder pm |
A |
Ante meridiem und Post meridiem in Großbuchstaben | AM oder PM |
B |
Swatch-Internetzeit | 000 bis 999 |
g |
Stunde im 12-Stunden-Format; ohne vorangestellte Null | 1 bis 12 |
G |
Stunde im 24-Stunden-Format; ohne vorangestellte Null | 0 bis 23 |
h |
Stunde im 12-Stunden-Format; mit vorangestellter Null | 01 bis 12 |
H |
Stunde im 24-Stunden-Format; mit vorangestellter Null | 00 bis 23 |
i |
Minuten; mit vorangestellter Null | 00 bis 59 |
s |
Sekunden; mit vorangestellter Null | 00 bis 59 |
u |
Mikrosekunden. Es ist zu beachten, dass die Funktion
date() immer 000000 ausgibt,
weil sie einen Parameter vom Typ int erwartet, während
DateTimeInterface::format() Mikrosekunden
unterstützt, wenn ein Objekt vom Typ
DateTimeInterface mit Mikrosekunden erstellt
wurde.
|
Beispiel: 654321 |
v |
Millisekunden. Es gilt der gleiche Hinweis wie für
u .
|
Beispiel: 654 |
Zeitzone | --- | --- |
e |
Bezeichner der Zeitzone | Beispiele: UTC , GMT , Atlantic/Azores |
I (großes i) |
Gibt an, ob das Datum in der Sommerzeit liegt oder nicht | 1 für Sommerzeit, andernfalls 0 |
O |
Differenz zur Greenwich-Zeit (GMT); ohne Doppelpunkt zwischen Stunden und Minuten | Beispiel: +0200 |
P |
Differenz zur Greenwich-Zeit (GMT); mit Doppelpunkt zwischen Stunden und Minuten | Beispiel: +02:00 |
p |
Dasselbe wie P , gibt aber Z
zurück anstelle von +00:00
(verfügbar seit PHP 8.0.0)
|
Beispiele: Z oder +02:00 |
T |
Zeitzonenkürzel, falls bekannt; andernfalls die Abweichung von der GMT | Beispiele: EST , MDT , +05 |
Z |
Zeitverschiebung in Sekunden. Der Wert ist für Zeitzonen westlich von der UTC immer negativ und für die Zeitzonen östlich von der UTC immer positiv. | -43200 bis 50400 |
Datum und Uhrzeit vollständig | --- | --- |
c |
Datum gemäß ISO 8601 | 2004-02-12T15:19:21+00:00 |
r |
Datum im Format » RFC 2822/» RFC 5322 | Beispiel: Thu, 21 Dec 2000 16:01:07 +0200 |
U |
Sekunden seit der Unix-Epoche (1. Januar 1970 00:00:00 GMT) | Siehe auch time() |
In der Formatzeichenkette nicht erkannte Zeichen werden unverändert
ausgegeben. In Verbindung mit der Funktion gmdate()
gibt das Format Z
immer 0
zurück.
Hinweis:
Da diese Funktion nur Zeitstempel vom Typ int akzeptiert, ist das Formatzeichen
u
nur dann nützlich, wenn die Funktion date_format() mit benutzerdefinierten Zeitstempeln verwendet wird, die mit date_create() erstellt wurden.
Gibt bei Erfolg eine Zeichenkette mit dem formatierten Datum zurück.
Version | Beschreibung |
---|---|
8.2.0 |
Die format -Zeichen X und
x wurden hinzugefügt.
|
8.0.0 |
Vor dieser Version wurde bei einem Fehler false zurückgegeben.
|
Beispiel #1 DateTimeInterface::format()-Beispiel
Objektorientierter Stil
<?php
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>
Prozeduraler Stil
<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
2000-01-01 00:00:00
Beispiel #2 Weitere Beispiele
<?php
// Die Standard-Zeitzone setzen, die verwendet werden soll.
date_default_timezone_set('UTC');
// Jetzt
$date = new DateTimeImmutable();
// Gibt z. B. Folgendes aus: Wednesday
echo $date->format('l'), "\n";
// Gibt z. B. Folgendes aus: Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* Verwenden von Konstanten im Format-Parameter */
// Gibt z. B. Folgendes aus: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
?>
Um zu verhindern, dass ein bekanntes Zeichen in der Formatzeichenkette interpretiert wird, kann es mit einem vorangestellten Backslash maskiert werden. Wenn das Zeichen mit dem Backslash bereits eine spezielle Zeichenfolge ist, muss eventuell auch der Backslash maskiert werden.
Beispiel #3 Zeichen beim Formatieren maskieren
<?php
$date = new DateTimeImmutable();
// Gibt z. B. Folgendes aus: Wednesday the 19th
echo $date->format('l \t\h\e jS');
?>
Um Daten in anderen Sprachen zu formatieren, kann IntlDateFormatter::format() anstelle von DateTimeInterface::format() verwendet werden.
Diese Methode verwendet keine Gebietsschemata; die gesamte Ausgabe erfolgt auf englisch.