1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-24 07:12:15 +01:00
Files
Martin Samesch 3c90dc1695 Sync with EN
2024-09-01 20:56:39 +02:00

539 lines
20 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 7f7fce55c075567a9b964be1d6ff131922930b17 Maintainer: samesch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="datetime.format" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>DateTimeInterface::format</refname>
<refname>DateTimeImmutable::format</refname>
<refname>DateTime::format</refname>
<refname>date_format</refname>
<refpurpose>Liefert das Datum formatiert gemäß dem angegebenen Format</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<methodsynopsis role="DateTimeInterface">
<modifier>public</modifier> <type>string</type><methodname>DateTimeInterface::format</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
</methodsynopsis>
<methodsynopsis role="DateTimeImmutable">
<modifier>public</modifier> <type>string</type><methodname>DateTimeImmutable::format</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
</methodsynopsis>
<methodsynopsis role="DateTime">
<modifier>public</modifier> <type>string</type><methodname>DateTime::format</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
</methodsynopsis>
<para>&style.procedural;</para>
<methodsynopsis>
<type>string</type><methodname>date_format</methodname>
<methodparam><type>DateTimeInterface</type><parameter>object</parameter></methodparam>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
</methodsynopsis>
<para>
Gibt das Datum im angegebenen Format zurück.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
&date.datetime.description;
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Das Format des ausgegebenen Datums vom Typ <type>string</type>. Siehe
die Formatierungsoptionen unten. Es gibt auch mehrere
<link linkend="datetimeinterface.constants.types">vordefinierte Datumskonstanten</link>,
die stattdessen verwendet werden können, &zb; enthält
<constant>DATE_RSS</constant> die Formatzeichenkette
<literal>'D, d M Y H:i:s'</literal>.
</para>
<para>
<table>
<title>Die folgenden Zeichen werden in der Parameterzeichenkette
<parameter>format</parameter> erkannt</title>
<tgroup cols="3">
<thead>
<row>
<entry><parameter>format</parameter>-Zeichen</entry>
<entry>Beschreibung</entry>
<entry>Mögliche Rückgabewerte</entry>
</row>
</thead>
<tbody>
<row>
<entry align="center"><emphasis>Tag</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>d</literal></entry>
<entry>Tag des Monats; zwei Ziffern mit vorangestellter Null</entry>
<entry><literal>01</literal> bis <literal>31</literal></entry>
</row>
<row>
<entry><literal>D</literal></entry>
<entry>Textuelle Darstellung eines Tages; drei Buchstaben</entry>
<entry><literal>Mon</literal> bis <literal>Sun</literal></entry>
</row>
<row>
<entry><literal>j</literal></entry>
<entry>Tag des Monats; zwei Ziffern ohne vorangestellte Null</entry>
<entry><literal>1</literal> bis <literal>31</literal></entry>
</row>
<row>
<entry><literal>l</literal> (kleines 'L')</entry>
<entry>Vollständige textuelle Darstellung eines Tages</entry>
<entry><literal>Sunday</literal> bis <literal>Saturday</literal></entry>
</row>
<row>
<entry><literal>N</literal></entry>
<entry>Numerische Darstellung eines Wochentags gemäß ISO-8601</entry>
<entry><literal>1</literal> (für Montag) bis <literal>7</literal> (für Sonntag)</entry>
</row>
<row>
<entry><literal>S</literal></entry>
<entry>Englisches Ordnungssuffix für den Tag des Monats; zwei Buchstaben</entry>
<entry>
<literal>st</literal>, <literal>nd</literal>, <literal>rd</literal>
oder <literal>th</literal>; funktioniert gut mit <literal>j</literal>
</entry>
</row>
<row>
<entry><literal>w</literal></entry>
<entry>Numerische Darstellung eines Wochentags</entry>
<entry><literal>0</literal> (für Sonntag) bis <literal>6</literal> (für Samstag)</entry>
</row>
<row>
<entry><literal>z</literal></entry>
<entry>Tag des Jahres (beginnend bei 0)</entry>
<entry><literal>0</literal> bis <literal>365</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Woche</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>W</literal></entry>
<entry>Wochennummer eines Jahres gemäß ISO-8601; die Wochen beginnen am Montag</entry>
<entry>Beispiel: <literal>42</literal> (die 42. Woche des Jahres)</entry>
</row>
<row>
<entry align="center"><emphasis>Monat</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>F</literal></entry>
<entry>Vollständige textuelle Darstellung eines Monats, &zb; January oder March</entry>
<entry><literal>January</literal> bis <literal>December</literal></entry>
</row>
<row>
<entry><literal>m</literal></entry>
<entry>Numerische Darstellung eines Monats; mit vorangestellter Null</entry>
<entry><literal>01</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>M</literal></entry>
<entry>Kurze textuelle Darstellung eines Monats; drei Buchstaben</entry>
<entry><literal>Jan</literal> bis <literal>Dec</literal></entry>
</row>
<row>
<entry><literal>n</literal></entry>
<entry>Numerische Darstellung eines Monats; ohne vorangestellte Null</entry>
<entry><literal>1</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>t</literal></entry>
<entry>Anzahl der Tage des angegebenen Monats</entry>
<entry><literal>28</literal> bis <literal>31</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Jahr</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>L</literal></entry>
<entry>Gibt an, ob es ein Schaltjahr ist</entry>
<entry><literal>1</literal> wenn es ein Schaltjahr ist, andernfalls <literal>0</literal></entry>
</row>
<row>
<entry><literal>o</literal></entry>
<entry>
Jahreszahl gemäß ISO 8601-Wochennummer. Dies hat den gleichen Wert
wie <literal>Y</literal>, außer wenn die ISO-Wochennummer
(<literal>W</literal>) zum vorherigen oder nächsten Jahr gehört;
dann wird stattdessen das Jahr dieser Woche verwendet.
</entry>
<entry>Beispiele: <literal>1999</literal> oder <literal>2003</literal></entry>
</row>
<row>
<entry><literal>X</literal></entry>
<entry>
Erweiterte vollständige numerische Darstellung einer Jahreszahl,
mindestens 4-stellig, mit <literal>-</literal> für Jahre vor
Christus und <literal>+</literal> für Jahre nach Christus.
</entry>
<entry>
Beispiele: <literal>-0055</literal>, <literal>+0787</literal>,
<literal>+1999</literal>, <literal>+10191</literal>
</entry>
</row>
<row>
<entry><literal>x</literal></entry>
<entry>
Erweiterte vollständige numerische Darstellung einer Jahreszahl,
falls erforderlich, oder standardmäßige vollständige numerische
Darstellung, falls möglich (wie <literal>Y</literal>). Mindestens
vier Ziffern. Jahren vor Christi Geburt wird ein
<literal>-</literal> vorangestellt. Jahreszahlen über
(und einschließlich) <literal>10000</literal> werden mit einem
<literal>+</literal> eingeleitet.
</entry>
<entry>
Beispiele: <literal>-0055</literal>, <literal>0787</literal>,
<literal>1999</literal>, <literal>+10191</literal>
</entry>
</row>
<row>
<entry><literal>Y</literal></entry>
<entry>
Vollständige numerische Darstellung einer Jahreszahl; mindestens
vier Ziffern, mit <literal>-</literal> für die Jahre vor Christus
</entry>
<entry>
Beispiele: <literal>-0055</literal>, <literal>0787</literal>,
<literal>1999</literal>, <literal>2003</literal>,
<literal>10191</literal>
</entry>
</row>
<row>
<entry><literal>y</literal></entry>
<entry>Darstellung einer Jahreszahl; zwei Ziffern</entry>
<entry>Beispiele: <literal>99</literal> oder <literal>03</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Zeit</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>a</literal></entry>
<entry>Ante meridiem und Post meridiem in Kleinbuchstaben</entry>
<entry><literal>am</literal> oder <literal>pm</literal></entry>
</row>
<row>
<entry><literal>A</literal></entry>
<entry>Ante meridiem und Post meridiem in Großbuchstaben</entry>
<entry><literal>AM</literal> oder <literal>PM</literal></entry>
</row>
<row>
<entry><literal>B</literal></entry>
<entry>Swatch-Internetzeit</entry>
<entry><literal>000</literal> bis <literal>999</literal></entry>
</row>
<row>
<entry><literal>g</literal></entry>
<entry>Stunde im 12-Stunden-Format; ohne vorangestellte Null</entry>
<entry><literal>1</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>G</literal></entry>
<entry>Stunde im 24-Stunden-Format; ohne vorangestellte Null</entry>
<entry><literal>0</literal> bis <literal>23</literal></entry>
</row>
<row>
<entry><literal>h</literal></entry>
<entry>Stunde im 12-Stunden-Format; mit vorangestellter Null</entry>
<entry><literal>01</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>H</literal></entry>
<entry>Stunde im 24-Stunden-Format; mit vorangestellter Null</entry>
<entry><literal>00</literal> bis <literal>23</literal></entry>
</row>
<row>
<entry><literal>i</literal></entry>
<entry>Minuten; mit vorangestellter Null</entry>
<entry><literal>00</literal> bis <literal>59</literal></entry>
</row>
<row>
<entry><literal>s</literal></entry>
<entry>Sekunden; mit vorangestellter Null</entry>
<entry><literal>00</literal> bis <literal>59</literal></entry>
</row>
<row>
<entry><literal>u</literal></entry>
<entry>
Mikrosekunden. Es ist zu beachten, dass die Funktion
<function>date</function> immer <literal>000000</literal> ausgibt,
weil sie einen Parameter vom Typ <type>int</type> erwartet, während
<methodname>DateTimeInterface::format</methodname> Mikrosekunden
unterstützt, wenn ein Objekt vom Typ
<classname>DateTimeInterface</classname> mit Mikrosekunden erstellt
wurde.
</entry>
<entry>Beispiel: <literal>654321</literal></entry>
</row>
<row>
<entry><literal>v</literal></entry>
<entry>
Millisekunden. Es gilt der gleiche Hinweis wie für
<literal>u</literal>.
</entry>
<entry>Beispiel: <literal>654</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Zeitzone</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>e</literal></entry>
<entry>Bezeichner der Zeitzone</entry>
<entry>Beispiele: <literal>UTC</literal>, <literal>GMT</literal>, <literal>Atlantic/Azores</literal></entry>
</row>
<row>
<entry><literal>I</literal> (großes i)</entry>
<entry>Gibt an, ob das Datum in der Sommerzeit liegt oder nicht</entry>
<entry><literal>1</literal> für Sommerzeit, andernfalls <literal>0</literal></entry>
</row>
<row>
<entry><literal>O</literal></entry>
<entry>Differenz zur Greenwich-Zeit (GMT); ohne Doppelpunkt zwischen Stunden und Minuten</entry>
<entry>Beispiel: <literal>+0200</literal></entry>
</row>
<row>
<entry><literal>P</literal></entry>
<entry>Differenz zur Greenwich-Zeit (GMT); mit Doppelpunkt zwischen Stunden und Minuten</entry>
<entry>Beispiel: <literal>+02:00</literal></entry>
</row>
<row>
<entry><literal>p</literal></entry>
<entry>
Dasselbe wie <literal>P</literal>, gibt aber <literal>Z</literal>
zurück anstelle von <literal>+00:00</literal>
(verfügbar seit PHP 8.0.0)
</entry>
<entry>Beispiele: <literal>Z</literal> oder <literal>+02:00</literal></entry>
</row>
<row>
<entry><literal>T</literal></entry>
<entry>Zeitzonenkürzel, falls bekannt; andernfalls die Abweichung von der GMT</entry>
<entry>Beispiele: <literal>EST</literal>, <literal>MDT</literal>, <literal>+05</literal></entry>
</row>
<row>
<entry><literal>Z</literal></entry>
<entry>
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.
</entry>
<entry><literal>-43200</literal> bis <literal>50400</literal></entry>
</row>
<row>
<entry align="center"><emphasis>Datum und Uhrzeit vollständig</emphasis></entry>
<entry>---</entry>
<entry>---</entry>
</row>
<row>
<entry><literal>c</literal></entry>
<entry>Datum gemäß ISO 8601</entry>
<entry>2004-02-12T15:19:21+00:00</entry>
</row>
<row>
<entry><literal>r</literal></entry>
<entry>Datum im Format <link xlink:href="&url.rfc;2822">RFC 2822</link>/<link xlink:href="&url.rfc;5322">RFC 5322</link></entry>
<entry>Beispiel: <literal>Thu, 21 Dec 2000 16:01:07 +0200</literal></entry>
</row>
<row>
<entry><literal>U</literal></entry>
<entry>Sekunden seit der Unix-Epoche (1. Januar 1970 00:00:00 GMT)</entry>
<entry>Siehe auch <function>time</function></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
In der Formatzeichenkette nicht erkannte Zeichen werden unverändert
ausgegeben. In Verbindung mit der Funktion <function>gmdate</function>
gibt das Format <literal>Z</literal> immer <literal>0</literal> zurück.
</para>
<note>
<para>
Da diese Funktion nur Zeitstempel vom Typ <type>int</type> akzeptiert,
ist das Formatzeichen <literal>u</literal> nur dann nützlich, wenn die
Funktion <function>date_format</function> mit benutzerdefinierten
Zeitstempeln verwendet wird, die mit <function>date_create</function>
erstellt wurden.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Gibt bei Erfolg eine Zeichenkette mit dem formatierten Datum zurück.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
Die <parameter>format</parameter>-Zeichen <literal>X</literal> und
<literal>x</literal> wurden hinzugefügt.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Vor dieser Version wurde bei einem Fehler &false; zurückgegeben.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>DateTimeInterface::format</function>-Beispiel</title>
<para>&style.oop;</para>
<programlisting role="php">
<![CDATA[
<?php
$date = new DateTimeImmutable('2000-01-01');
echo $date->format('Y-m-d H:i:s');
?>
]]>
</programlisting>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
$date = date_create('2000-01-01');
echo date_format($date, 'Y-m-d H:i:s');
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
2000-01-01 00:00:00
]]>
</screen>
</example>
</para>
<para>
<example>
<title>Weitere Beispiele</title>
<programlisting role="php">
<![CDATA[
<?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";
?>
]]>
</programlisting>
</example>
</para>
<para>
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.
<example>
<title>Zeichen beim Formatieren maskieren</title>
<programlisting role="php">
<![CDATA[
<?php
$date = new DateTimeImmutable();
// Gibt z. B. Folgendes aus: Wednesday the 19th
echo $date->format('l \t\h\e jS');
?>
]]>
</programlisting>
</example>
</para>
<para>
Um Daten in anderen Sprachen zu formatieren, kann
<methodname>IntlDateFormatter::format</methodname> anstelle von
<methodname>DateTimeInterface::format</methodname> verwendet werden.
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
Diese Methode verwendet keine Gebietsschemata; die gesamte Ausgabe erfolgt
auf englisch.
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>date</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->