DateTimeInterface::format

DateTimeImmutable::format

DateTime::format

date_format

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTimeInterface::format -- DateTimeImmutable::format -- DateTime::format -- date_formatLiefert das Datum formatiert gemäß dem angegebenen Format

Beschreibung

Objektorientierter Stil

publicDateTimeInterface::format(string$format): string
publicDateTimeImmutable::format(string$format): string
publicDateTime::format(string$format): string

Prozeduraler Stil

Gibt das Datum im angegebenen Format zurück.

Parameter-Liste

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'.

Die folgenden Zeichen werden in der Parameterzeichenkette format erkannt
format-ZeichenBeschreibungMögliche Rückgabewerte
Tag------
dTag des Monats; zwei Ziffern mit vorangestellter Null01 bis 31
DTextuelle Darstellung eines Tages; drei BuchstabenMon bis Sun
jTag des Monats; zwei Ziffern ohne vorangestellte Null1 bis 31
l (kleines 'L')Vollständige textuelle Darstellung eines TagesSunday bis Saturday
NNumerische Darstellung eines Wochentags gemäß ISO-86011 (für Montag) bis 7 (für Sonntag)
SEnglisches Ordnungssuffix für den Tag des Monats; zwei Buchstabenst, nd, rd oder th; funktioniert gut mit j
wNumerische Darstellung eines Wochentags0 (für Sonntag) bis 6 (für Samstag)
zTag des Jahres (beginnend bei 0)0 bis 365
Woche------
WWochennummer eines Jahres gemäß ISO-8601; die Wochen beginnen am MontagBeispiel: 42 (die 42. Woche des Jahres)
Monat------
FVollständige textuelle Darstellung eines Monats, z. B. January oder MarchJanuary bis December
mNumerische Darstellung eines Monats; mit vorangestellter Null01 bis 12
MKurze textuelle Darstellung eines Monats; drei BuchstabenJan bis Dec
nNumerische Darstellung eines Monats; ohne vorangestellte Null1 bis 12
tAnzahl der Tage des angegebenen Monats28 bis 31
Jahr------
LGibt an, ob es ein Schaltjahr ist1 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
yDarstellung einer Jahreszahl; zwei ZiffernBeispiele: 99 oder 03
Zeit------
aAnte meridiem und Post meridiem in Kleinbuchstabenam oder pm
AAnte meridiem und Post meridiem in GroßbuchstabenAM oder PM
BSwatch-Internetzeit000 bis 999
gStunde im 12-Stunden-Format; ohne vorangestellte Null1 bis 12
GStunde im 24-Stunden-Format; ohne vorangestellte Null0 bis 23
hStunde im 12-Stunden-Format; mit vorangestellter Null01 bis 12
HStunde im 24-Stunden-Format; mit vorangestellter Null00 bis 23
iMinuten; mit vorangestellter Null00 bis 59
sSekunden; mit vorangestellter Null00 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 DateTime::format() Mikrosekunden unterstützt, wenn DateTime mit Mikrosekunden erstellt wurde. Beispiel: 654321
v Millisekunden. Es gilt der gleiche Hinweis wie für u. Beispiel: 654
Zeitzone------
eBezeichner der ZeitzoneBeispiele: UTC, GMT, Atlantic/Azores
I (großes i)Gibt an, ob das Datum in der Sommerzeit liegt oder nicht1 für Sommerzeit, andernfalls 0
ODifferenz zur Greenwich-Zeit (GMT); ohne Doppelpunkt zwischen Stunden und MinutenBeispiel: +0200
PDifferenz zur Greenwich-Zeit (GMT); mit Doppelpunkt zwischen Stunden und MinutenBeispiel: +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
TZeitzonenkürzel, falls bekannt; andernfalls die Abweichung von der GMTBeispiele: 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------
cDatum gemäß ISO 86012004-02-12T15:19:21+00:00
rDatum im Format » RFC 2822/» RFC 5322Beispiel: Thu, 21 Dec 2000 16:01:07 +0200
USekunden 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.

Rückgabewerte

Gibt bei Erfolg eine Zeichenkette mit dem formatierten Datum zurück.

Changelog

VersionBeschreibung
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.

Beispiele

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.&nbsp;B. Folgendes aus: Wednesday
echo $date->format('l'), "\n";

// Gibt z.&nbsp;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";


// Gibt z.&nbsp;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.&nbsp;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.

Anmerkungen

Diese Methode verwendet keine Gebietsschemata; die gesamte Ausgabe erfolgt auf englisch.

Siehe auch

  • date() - Formatiert einen Unix-Zeitstempel
To Top