svn: /phpdoc/de/trunk/reference/datetime/functions/ strftime.xml
[email protected] (Christoph Michael Becker)
| Newsgroups | php.doc.de |
|---|---|
| Message-ID | <[email protected]> |
cmb Sat, 07 Apr 2018 14:13:17 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=344629
Log:
Sync with EN
Changed paths:
U phpdoc/de/trunk/reference/datetime/functions/strftime.xml
svn-diffs-344629.txt
(text/x-diff, 40.8 KB)
Modified: phpdoc/de/trunk/reference/datetime/functions/strftime.xml
===================================================================
--- phpdoc/de/trunk/reference/datetime/functions/strftime.xml 2018-04-07 14:10:33 UTC (rev 344628)
+++ phpdoc/de/trunk/reference/datetime/functions/strftime.xml 2018-04-07 14:13:17 UTC (rev 344629)
@@ -1,258 +1,416 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: n/a Maintainer: sammywg Status: working -->
+<!-- EN-Revision: 341417 Maintainer: nobody Status: ready -->
- <refentry xml:id="function.strftime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
- <refnamediv>
- <refname>strftime</refname>
- <refpurpose>
- Formatiert eine Zeit-/Datumsangabe nach den lokalen Einstellungen
- </refpurpose>
- </refnamediv>
- <refsect1>
- <title>Beschreibung:</title>
- <methodsynopsis>
- <type>string</type><methodname>strftime</methodname>
- <methodparam><type>string</type><parameter>format</parameter></methodparam>
- <methodparam choice="opt"><type>int</type><parameter>
- Timestamp
- </parameter></methodparam>
- </methodsynopsis>
- <para>
- Gibt einen String zurück, der den angegebenen Formatierungs-Merkmalen
- entspricht. Dabei wird der gegebene <parameter>Timestamp</parameter>/
- Zeitstempel oder - falls dieser fehlt - die momentane lokale Zeit benutzt.
- Der Monats- und Wochentagsname wird entsprechend des per
- <function>setlocale</function> eingestellten Wertes gesetzt.
- </para>
- <para>
- Nachfolgend die im Formatierungsstring gültigen / bekannten
- Platzhalter:
- <itemizedlist>
- <listitem>
+<refentry xml:id="function.strftime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <refnamediv>
+ <refname>strftime</refname>
+ <refpurpose>Formatiere eine Zeit-/Datumsangabe gemäß dem Gebietsschema</refpurpose>
+ </refnamediv>
+
+ <refsect1 role="description">
+ &reftitle.description;
+ <methodsynopsis>
+ <type>string</type><methodname>strftime</methodname>
+ <methodparam><type>string</type><parameter>format</parameter></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>timestamp</parameter><initializer>time()</initializer></methodparam>
+ </methodsynopsis>
+ <para>
+ Formatiere eine Zeit-/Datumsangabe gemäß dem Gebietsschema. Monats- und
+ Wochentagsnamen sowie andere sprachabhängige Zeichenketten werden
+ entsprechend des per <function>setlocale</function> eingestellten Wertes
+ dargestellt.
+ </para>
+ <para>
+ Es ist durchaus möglich, dass Ihre C-Bibliothek nicht alle angegebenen
+ Formatierungszeichen erkennt. In diesem Fall werden diese Zeichen von
+ der PHP-Funktion <function>strftime</function> nicht unterstützt.
+ Zusätzlich unterstützen nicht alle Plattformen negative Werte eines
+ Timestamps, deshalb könnte der Wertebereich eines Datums durch den
+ Beginn der Unix Epoche begrenzt sein. Das bedeutet, dass z.B. %e, %T,
+ %R und %D (und vielleicht noch weitere) und Zeitangaben vor dem
+ <literal>Jan 1, 1970</literal> auf Windowssystemen, einigen
+ Linuxdistributionen und einigen anderen Betriebssytemen nicht
+ funktionieren. Für Windowsbetriebssysteme finden Sie eine komplette
+ Übersicht der gültigen Platzhalter im Formatierungsstring im
+ <link xlink:href="&url.strftime.win32;"><acronym>MSDN</acronym></link>.
+ </para>
+ </refsect1>
+
+ <refsect1 role="parameters">
+ &reftitle.parameters;
+ <para>
+ <variablelist>
+ <varlistentry>
+ <term><parameter>format</parameter></term>
+ <listitem>
+ <para>
+ <table>
+ <title>Folgende Zeichen werden in der <parameter>format</parameter> Parameterzeichenkette erkannt</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry><parameter>format</parameter></entry>
+ <entry>Beschreibung</entry>
+ <entry>Wertebeispiel</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry align="center"><emphasis>Tag</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%a</literal></entry>
+ <entry>Abgekürzter Name des Wochentages</entry>
+ <entry><literal>So</literal> bis <literal>Sa</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%A</literal></entry>
+ <entry>Ausgeschriebener Name des Wochentages</entry>
+ <entry><literal>Sonntag</literal> bis <literal>Samstag</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%d</literal></entry>
+ <entry>Tag des Monats als zweistellige Zahl (ggf. mit vorangestellten Nullen)</entry>
+ <entry><literal>01</literal> bis <literal>31</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%e</literal></entry>
+ <entry>
+ Tag des Monats als Dezimal-Wert; einstelligen Werten wird ein
+ Leerzeichen voran gestellt. Unter Windows nicht wie beschrieben
+ implementiert; siehe weiter unten für weitere Informationen.
+ </entry>
+ <entry><literal> 1</literal> bis <literal>31</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%j</literal></entry>
+ <entry>Tag des Jahres als dreistellige Zahl, ggf. mit vorangestellten Nullen</entry>
+ <entry><literal>001</literal> bis <literal>366</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%u</literal></entry>
+ <entry>ISO-8601 nummerische Darstellung des Wochentages</entry>
+ <entry><literal>1</literal> (für Montag) bis <literal>7</literal> (für Sonntag)</entry>
+ </row>
+ <row>
+ <entry><literal>%w</literal></entry>
+ <entry>Nummerische Darstellung des Wochentags</entry>
+ <entry><literal>0</literal> (für Sonntag) bis <literal>6</literal> (für Samstag)</entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Woche</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%U</literal></entry>
+ <entry>Nummer der Kalenderwoche des gegebenen Jahres, beginnend mit
+ dem ersten Sonntag als erste Woche</entry>
+ <entry><literal>13</literal> (für die 13. Kalenderwoche des Jahres)</entry>
+ </row>
+ <row>
+ <entry><literal>%V</literal></entry>
+ <entry>ISO-8601:1988 Kalenderwochennummer des gegebenen Jahres,
+ beginnend mit der ersten Woche des Jahres mit wenigstens 4
+ Wochentagen, wobei Montag der Start der Kalenderwoche ist</entry>
+ <entry><literal>01</literal> bis <literal>53</literal> (wobei 53
+ eine überlappende Woche repräsentiert)</entry>
+ </row>
+ <row>
+ <entry><literal>%W</literal></entry>
+ <entry>Nummerische Darstellung der Kalenderwoche, beginnend mit dem
+ ersten Montag als erste Woche</entry>
+ <entry><literal>46</literal> (für die 46. Woche des Jahres, die mit
+ einem Montag beginnt)</entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Monat</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%b</literal></entry>
+ <entry>Abgekürzter Monatsname gemäß dem Gebietsschema</entry>
+ <entry><literal>Jan</literal> bis <literal>Dez</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%B</literal></entry>
+ <entry>Vollständiger Monatsname gemäß dem Gebietsschema</entry>
+ <entry><literal>Januar</literal> bis <literal>Dezember</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%h</literal></entry>
+ <entry>Abgekürzter Monatsname gemäß dem Gebietsschema (ein Alias von %b)</entry>
+ <entry><literal>Jan</literal> bis <literal>Dez</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%m</literal></entry>
+ <entry>Zweistellige nummerische Darstellung des Monats</entry>
+ <entry><literal>01</literal> (für Januar) bis <literal>12</literal> (für Dezember)</entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Jahr</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%C</literal></entry>
+ <entry>Zweistellige nummerische Darstellung des Jahrhunders (Jahr geteilt durch 100, abgerundet zu einer Ganzzahl)</entry>
+ <entry><literal>19</literal> für das 20. Jahrhundert</entry>
+ </row>
+ <row>
+ <entry><literal>%g</literal></entry>
+ <entry>Zweistellige nummerische Darstellung des Jahres gemäß dem ISO-8601:1988 Standard (siehe %V)</entry>
+ <entry>Beispiel: <literal>09</literal> für die Woche des 6. Januar 2009</entry>
+ </row>
+ <row>
+ <entry><literal>%G</literal></entry>
+ <entry>Die vollständige vierstellige nummerische Version von %g</entry>
+ <entry>Beispiel: <literal>2008</literal> für die Woche des 3. Januar 2009</entry>
+ </row>
+ <row>
+ <entry><literal>%y</literal></entry>
+ <entry>Zweistellige nummerische Darstellung des Jahres</entry>
+ <entry>Beispiel: <literal>09</literal> für 2009, <literal>79</literal> für 1979</entry>
+ </row>
+ <row>
+ <entry><literal>%Y</literal></entry>
+ <entry>Vierstellige nummerische Darstellung des Jahres</entry>
+ <entry>Beispiel: <literal>2038</literal></entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Zeit</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%H</literal></entry>
+ <entry>Zweistellige nummerische Darstellung der Stunde im 24-Stunden-Format</entry>
+ <entry><literal>00</literal> bis <literal>23</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%k</literal></entry>
+ <entry>Stunde im 24-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden</entry>
+ <entry><literal> 0</literal> bis <literal>23</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%I</literal></entry>
+ <entry>Zweistellige nummerische Darstellung der Stunde im 12-Stunden-Format</entry>
+ <entry><literal>01</literal> bis <literal>12</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%l (kleines 'L')</literal></entry>
+ <entry>Stunde im 12-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden</entry>
+ <entry><literal> 1</literal> bis <literal>12</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%M</literal></entry>
+ <entry>Zweistellige nummerische Darstellung der Minute</entry>
+ <entry><literal>00</literal> bis <literal>59</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%p</literal></entry>
+ <entry>'AM' oder 'PM' in Großbuchstaben, basierend auf der gegebenen Zeit</entry>
+ <entry>Beispiel: <literal>AM</literal> für 00:31, <literal>PM</literal> für 22:23</entry>
+ </row>
+ <row>
+ <entry><literal>%P</literal></entry>
+ <entry>'am' oder 'pm' in Kleinbuchstaben, basierend auf der gegebenen Zeit</entry>
+ <entry>Beispiel: <literal>am</literal> für 00:31, <literal>pm</literal> für 22:23</entry>
+ </row>
+ <row>
+ <entry><literal>%r</literal></entry>
+ <entry>Das gleiche wie "%I:%M:%S %p"</entry>
+ <entry>Beispiel: <literal>09:34:17 PM</literal> für 21:34:17</entry>
+ </row>
+ <row>
+ <entry><literal>%R</literal></entry>
+ <entry>Das gleiche wie "%H:%M"</entry>
+ <entry>Beispiel: <literal>00:35</literal> für 12:35 AM, <literal>16:44</literal> für 4:44 PM</entry>
+ </row>
+ <row>
+ <entry><literal>%S</literal></entry>
+ <entry>Zweistellige nummerische Darstellung der Sekunde</entry>
+ <entry><literal>00</literal> bis <literal>59</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%T</literal></entry>
+ <entry>Das gleiche wie "%H:%M:%S"</entry>
+ <entry>Beispiel: <literal>21:34:17</literal> für 09:34:17 PM</entry>
+ </row>
+ <row>
+ <entry><literal>%X</literal></entry>
+ <entry>Bevorzugte Zeitdarstellung gemäß dem Gebietsschema, ohne Datumsangabe</entry>
+ <entry>Beispiel: <literal>03:59:16</literal> oder <literal>15:59:16</literal></entry>
+ </row>
+ <row>
+ <entry><literal>%z</literal></entry>
+ <entry>Der Zeitzonen-Versatz. Unter Windows nicht wie beschrieben
+ implementiert; siehe weiter unten für weitere Informationen.</entry>
+ <entry>Beispiel: <literal>-0500</literal> für US Eastern Time</entry>
+ </row>
+ <row>
+ <entry><literal>%Z</literal></entry>
+ <entry>Das Zeitzonenkürzel. Unter Windows nicht wie beschrieben
+ implementiert; siehe weiter unten für weitere Informationen.</entry>
+ <entry>Beispiel: <literal>EST</literal> für Eastern Time</entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Datums- und Zeitstempel</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%c</literal></entry>
+ <entry>Bevorzugter Datums- und Zeitstempel gemäß dem Gebietsschema</entry>
+ <entry>Beispiel: <literal>05.02.2009 00:45:10</literal> für den 5.
+ Februar 2009 um 00:45:10</entry>
+ </row>
+ <row>
+ <entry><literal>%D</literal></entry>
+ <entry>Das gleiche wie "%m/%d/%y"</entry>
+ <entry>Example: <literal>02/05/09</literal> für den 5. Februar 2009</entry>
+ </row>
+ <row>
+ <entry><literal>%F</literal></entry>
+ <entry>Same as "%Y-%m-%d" (oft verwendet für Datenbankzeitstempel)</entry>
+ <entry>Example: <literal>2009-02-05</literal> für den 5. Februar 2009</entry>
+ </row>
+ <row>
+ <entry><literal>%s</literal></entry>
+ <entry>Zeitstempel der Unix-Epochenzeit (das gleiche wie die
+ <function>time</function> Funktion)</entry>
+ <entry>Beispiel: <literal>305815200</literal> für den 10. September 1979, 08:40:00</entry>
+ </row>
+ <row>
+ <entry><literal>%x</literal></entry>
+ <entry>Bevorzugte Datumsdarstellung gemäß dem Gebietsschema, ohne Zeitangabe</entry>
+ <entry>Beispiel: <literal>02/05/09</literal> für den 5. Februar 2009</entry>
+ </row>
+ <row>
+ <entry align="center"><emphasis>Verschiedenes</emphasis></entry>
+ <entry>---</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%n</literal></entry>
+ <entry>Ein Zeilenvorschubzeichen ("\n")</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%t</literal></entry>
+ <entry>Ein Tabulatorzeichen ("\t")</entry>
+ <entry>---</entry>
+ </row>
+ <row>
+ <entry><literal>%%</literal></entry>
+ <entry>Ein buchstäbliches Prozentzeichen ("%")</entry>
+ <entry>---</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ <para>
+ Die Höchstlänge dieses Parameters sind 1023 Zeichen.
+ </para>
+ <warning>
<simpara>
- %a - abgekürzter Name des Wochentages, abhängig von der
- gesetzten Umgebung
+ Im Gegensatz zu ISO-9899:1999 beginnt mit Sonntag als 1. Daraus folgt,
+ dass <literal>%u</literal> nicht wie in diesem Handbuch beschrieben
+ funktionieren kann.
</simpara>
- </listitem>
- <listitem>
+ </warning>
+ <warning>
+ <para>
+ <emphasis>Nur für Windows:</emphasis>
+ </para>
+ <para>
+ Der <literal>%e</literal> Platzhalter wird nicht in der Windows
+ Implementierung dieser Funktion unterstützt. Um diesen Wert zu erhalten,
+ kann der <literal>%#d</literal> Platzhalter statt dessen verwendet
+ werden. Das Beispiel weiter unten zeigt wie eine Plattform übergreifende
+ kompatible Funktion geschrieben werden kann.
+ </para>
+ <para>
+ Die <literal>%z</literal> und <literal>%Z</literal> Platzhalter geben
+ beide den Namen der Zeitzone anstelle des Versatzes oder des Kürzels
+ zurück.
+ </para>
+ </warning>
+ <warning>
<simpara>
- %A - ausgeschriebener Name des Wochentages, abhängig von der
- gesetzten Umgebung
+ <emphasis>Nur für Mac OS X:</emphasis> Der <literal>%P</literal>
+ Platzhalter wird nicht in der Mac OS X Implementierung dieser Funktion
+ unterstüzt.
</simpara>
- </listitem>
- <listitem>
- <simpara>
- %b - abgekürzter Name des Monats, abhängig von der gesetzten
- Umgebung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %B - ausgeschriebener Name des Monats, abhängig von der
- gesetzten Umgebung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %c - Wiedergabewerte für Datum und Zeit, abhängig von der
- gesetzten Umgebung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %C - Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer,
- Wertebereich 00 bis 99)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %d - Tag des Monats als Zahl (Bereich 01 bis 31)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %D - so wie %m/%d/%y
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird
- ein Leerzeichen voran gestellt (Wertebereich ´ 1´ bis ´31´)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %g - wie %G, aber ohne Jahrhundert.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %G - Das vierstellige Jahr entsprechend der ISO Wochennummer (siehe %V).
- Das gleiche Format und der gleiche Wert wie bei %Y. Besonderheit:
- entspricht die ISO Wochennummer dem vorhergehenden oder folgenden
- Jahr, wird dieses Jahr verwendet.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %h - so wie %b
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %j - Tag des Jahres als Zahl (Bereich 001 bis 366)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %m - Monat als Zahl (Bereich 01 bis 12)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %M - Minute als Dezimal-Wert
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %n - neue Zeile
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %p - entweder `am' oder `pm' (abhängig von der gesetzten
- Umgebung) oder die entsprechenden Zeichenketten der gesetzten
- Umgebung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %r - Zeit im Format a.m. oder p.m.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %R - Zeit in der 24-Stunden-Formatierung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %S - Sekunden als Dezimal-Wert
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %t - Tabulator
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %T - aktuelle Zeit, genau wie %H:%M:%S
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag.
- </simpara>
- <warning>
- <simpara>
- Sun Solaris scheint mit dem Sonntag als 1 zu starten,
- obwohl ISO 9889:1999 (der aktuelle C Standard) klar
- festlegt, dass es der Montag sein sollte.
- </simpara>
- </warning>
- </listitem>
- <listitem>
- <simpara>
- %U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert,
- beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %V - Kalenderwoche (nach ISO 8601:1988) des aktuellen Jahres.
- Als Dezimal-Zahl mit dem Wertebereich 01 bis 53, wobei die
- Woche 01 die erste Woche mit mindestens 4 Tagen im aktuellen
- Jahr ist. Die Woche beginnt montags (nicht sonntags). (Benutzen Sie
- %G or %g für die Jahreskomponente, die der Wochennummer für den
- gegebenen Timestamp entspricht.)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %w - Wochentag als Dezimal-Wert, Sonntag ist 0
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem
- ersten Montag als erstem Tag der ersten Woche.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %x - bevorzugte Datumswiedergabe (ohne Zeit), abhängig von der
- gesetzten Umgebung.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %X - bevorzugte Zeitwiedergabe (ohne Datum), abhängig von der
- gesetzten Umgebung.
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %Y - Jahr als 4-stellige-Zahl inklusive des Jahrhunderts
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %Z - Zeitzone, Name oder eine Abkürzung
- </simpara>
- </listitem>
- <listitem>
- <simpara>
- %% - ein %-Zeichen
- </simpara>
- </listitem>
- </itemizedlist>
- <note>
- <para>
- Es ist durchaus möglich, dass Ihre C-Bibliothek nicht alle angegebenen
- Formatierungszeichen erkennt. In diesem Fall werden diese Zeichen von
- der PHP-Funktion <function>strftime</function> nicht unterstützt.
- Zusätzlich unterstützen nicht alle Plattformen negative Werte eines
- Timestamps, deshalb könnte der Wertebereich eines Datums durch den
- Beginn der Unix Epoche begrenzt sein. Das bedeutet, dass z.B. %e, %T,
- %R und %D (und vielleicht noch weitere) und Zeitangaben vor dem
- <literal>Jan 1, 1970</literal> auf Windowssystemen, einigen
- Linuxdistributionen und einigen anderen Betriebssytemen nicht
- funktionieren. Für Windowsbetriebssysteme finden Sie eine komplette
- Übersicht der gültigen / bekannten Platzhalter im Formatierungsstring
- auf dieser
- <link xlink:href="&url.strftime.win32;"><acronym>MSDN</acronym> Webseite</link>.
- </para>
- </note>
- <example>
- <title><function>strftime</function> locale Beispiel</title>
- <programlisting role="php">
+ </warning>
+ </listitem>
+ </varlistentry>
+
+ &date.timestamp.description;
+
+ </variablelist>
+ </para>
+ </refsect1>
+
+ <refsect1 role="returnvalues">
+ &reftitle.returnvalues;
+ <para>
+ Gibt eine Zeichenkette zurück, die gemäß <parameter>format</parameter>
+ unter Verwendung des angegebenen <parameter>timestamp</parameter> oder der
+ aktuellen Ortszeit, falls kein Zeitstempel angegeben wurde, formatiert ist.
+ Monats- und Wochentagsnamen sowie andere sprachabhängige Zeichenketten werden
+ entsprechend des per <function>setlocale</function> eingestellten Wertes
+ dargestellt.
+ </para>
+ </refsect1>
+
+ <refsect1 role="errors">
+ &reftitle.errors;
+ &date.timezone.errors.description;
+ <para>
+ Da die Ausgabe von der unterliegenden C-Bibliothek abhängt, werden einige
+ Konversionsangaben nicht unterstützt. Unter Window führt die Angabe von
+ Konversionsangaben zu 5 <constant>E_WARNING</constant> Meldungen, und die
+ Funktion gibt &false; zurück. Unter anderen Betriebssystemen werden unter
+ Umständen keine <constant>E_WARNING</constant> Meldungen erzeugt, und die
+ Ausgabe kann die Konversionsangaben unverändert enthalten.
+ </para>
+ </refsect1>
+
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+
+ &date.timezone.errors.changelog;
+
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
+ <refsect1 role="examples">
+ &reftitle.examples;
+ <para>
+ Dieses Beispiel funktioniert nur, wenn auf Ihrem System die entsprechenden
+ Locales installiert sind.
+ <example>
+ <title><function>strftime</function> locale Beispiel</title>
+ <programlisting role="php">
<![CDATA[
<?php
setlocale(LC_TIME, "C");
@@ -265,25 +423,17 @@
echo strftime(" in German %A.\n");
?>
]]>
- </programlisting>
- </example>
- Dieses Beispiel funktioniert nur, wenn auf Ihrem System die entsprechenden
- Locale-Codes installiert sind.
- <note>
- <simpara>
- %G und %V basieren auf ISO 8601:1988 Wochennummern und können unerwartete
- (obwohl korrekte) Ergebnisse liefern, wenn Sie das Nummernsystem nicht
- gründlich verstehen. Sehen Sie weiter oben bei %V nach und beachten Sie die
- folgenden Beispiele.
- </simpara>
- </note>
- <example>
- <title>ISO 8601:1988 Wochennummer Beispiel</title>
- <programlisting role="php">
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>ISO 8601:1988 Wochennummer Beispiel</title>
+ <programlisting role="php">
<![CDATA[
<?php
-/* December 2002 / January 2003
-ISOWk M Tu W Thu F Sa Su
+/* Dezember 2002 / Januar 2003
+ISOWk Mo Di Mi Do Fr Sa So
----- ----------------------------
51 16 17 18 19 20 21 22
52 23 24 25 26 27 28 29
@@ -291,22 +441,22 @@
2 6 7 8 9 10 11 12
3 13 14 15 16 17 18 19 */
-// Ausgabe: 12/28/2002 - %V,%G,%Y = 52,2002,2002
-echo "12/28/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";
+// Ausgabe: 28.12.2002 - %V,%G,%Y = 52,2002,2002
+echo "28.12.2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/28/2002")) . "\n";
-// Ausgabe: 12/30/2002 - %V,%G,%Y = 1,2003,2002
-echo "12/30/2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";
+// Ausgabe: 30.12.2002 - %V,%G,%Y = 1,2003,2002
+echo "30.12.2002 - %V,%G,%Y = " . strftime("%V,%G,%Y", strtotime("12/30/2002")) . "\n";
-// Ausgabe: 1/3/2003 - %V,%G,%Y = 1,2003,2003
-echo "1/3/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";
+// Ausgabe: 03.01.2003 - %V,%G,%Y = 1,2003,2003
+echo "03.01.2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2003")) . "\n";
-// Ausgabe: 1/10/2003 - %V,%G,%Y = 2,2003,2003
-echo "1/10/2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";
+// Ausgabe: 10.01.2003 - %V,%G,%Y = 2,2003,2003
+echo "10.01.2003 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/10/2003")) . "\n";
-/* December 2004 / January 2005
-ISOWk M Tu W Thu F Sa Su
+/* Dezember 2004 / Januar 2005
+ISOWk Mo Di Mi Do Fr Sa So
----- ----------------------------
51 13 14 15 16 17 18 19
52 20 21 22 23 24 25 26
@@ -314,31 +464,221 @@
1 3 4 5 6 7 8 9
2 10 11 12 13 14 15 16 */
-// Ausgabe: 12/23/2004 - %V,%G,%Y = 52,2004,2004
-echo "12/23/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";
+// Ausgabe: 23.12.2004 - %V,%G,%Y = 52,2004,2004
+echo "23.12.2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/23/2004")) . "\n";
-// Ausgabe: 12/31/2004 - %V,%G,%Y = 53,2004,2004
-echo "12/31/2004 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";
+// Ausgabe: 31.12.2004 - %V,%G,%Y = 53,2004,2004
+echo "31.12.2004- %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("12/31/2004")) . "\n";
-// Ausgabe: 1/2/2005 - %V,%G,%Y = 53,2004,2005
-echo "1/2/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";
+// Ausgabe: 02.01.2005 - %V,%G,%Y = 53,2004,2005
+echo "02.01.2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/2/2005")) . "\n";
-// Ausgabe: 1/3/2005 - %V,%G,%Y = 1,2005,2005
-echo "1/3/2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";
+// Ausgabe: 03.01.2005 - %V,%G,%Y = 1,2005,2005
+echo "03.01.2005 - %V,%G,%Y = " . strftime("%V,%G,%Y",strtotime("1/3/2005")) . "\n";
?>
]]>
- </programlisting>
- </example>
- </para>
- <para>
- Siehe auch <function>setlocale</function>,
- <function>mktime</function> und die <link xlink:href="&spec.strftime;">
- Open Group Spezifikation von <function>strftime</function></link>.
- </para>
- </refsect1>
- </refentry>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>Plattform übergreifendes Beispiel unter Verwendung des <literal>%e</literal> Platzhalters</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// 1. Januar ergibt: '%e%1%' (%%, e, %%, %e, %%)
+$format = '%%e%%%e%%';
+
+// Prüfe auf Windows, um den %e Platzhalter korrekt zu ersetzen
+if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
+ $format = preg_replace('#(?<!%)((?:%%)*)%e#', '\1%#d', $format);
+}
+
+echo strftime($format);
+?>
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ <example>
+ <title>Zeige alle bekannten und unbekannten Formate an.</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+// Beschreibe die Formate.
+$strftimeFormats = array(
+ 'A' => 'Ausgeschriebener Name des Wochentages',
+ 'B' => 'Vollständiger Monatsname gemäß dem Gebietsschema',
+ 'C' => 'Zweistellige nummerische Darstellung des Jahrhunders (Jahr geteilt durch 100, abgerundet zu einer Ganzzahl)',
+ 'D' => 'Das gleiche wie "%m/%d/%y"',
+ 'E' => '',
+ 'F' => 'Same as "%Y-%m-%d"',
+ 'G' => 'Die vollständige vierstellige nummerische Version von %g',
+ 'H' => 'Zweistellige nummerische Darstellung der Stunde im 24-Stunden-Format',
+ 'I' => 'Zweistellige nummerische Darstellung der Stunde im 12-Stunden-Format',
+ 'J' => '',
+ 'K' => '',
+ 'L' => '',
+ 'M' => 'Zweistellige nummerische Darstellung der Minute',
+ 'N' => '',
+ 'O' => '',
+ 'P' => '"am" oder "pm" in Kleinbuchstaben, basierend auf der gegebenen Zeit',
+ 'Q' => '',
+ 'R' => 'Das gleiche wie "%H:%M"',
+ 'S' => 'Zweistellige nummerische Darstellung der Sekunde',
+ 'T' => 'Das gleiche wie "%H:%M:%S"',
+ 'U' => 'Nummer der Kalenderwoche des gegebenen Jahres, beginnend mit dem ersten Sonntag als erste Woche',
+ 'V' => 'ISO-8601:1988 Kalenderwochennummer des gegebenen Jahres, beginnend mit der ersten Woche des Jahres mit wenigstens 4 Wochentagen, wobei Montag der Start der Kalenderwoche ist',
+ 'W' => 'Nummerische Darstellung der Kalenderwoche, beginnend mit dem ersten Montag als erste Woche',
+ 'X' => 'Bevorzugte Zeitdarstellung gemäß dem Gebietsschema, ohne Datumsangabe',
+ 'Y' => 'Vierstellige nummerische Darstellung des Jahres',
+ 'Z' => 'Das Zeitzonenkürzel oder die Zeitzone (abhängig vom Betriebssystem)',
+ 'a' => 'Abgekürzter Name des Wochentages',
+ 'b' => 'Abgekürzter Monatsname gemäß dem Gebietsschema',
+ 'c' => 'Bevorzugter Datums- und Zeitstempel gemäß dem Gebietsschema',
+ 'd' => 'Tag des Monats als zweistellige Zahl (ggf. mit vorangestellten Nullen)',
+ 'e' => 'Tag des Monats als Dezimal-Wert; einstelligen Werten wird ein Leerzeichen voran gestellt',
+ 'f' => '',
+ 'g' => 'Zweistellige nummerische Darstellung des Jahres gemäß dem ISO-8601:1988 Standard (siehe %V)',
+ 'h' => 'Abgekürzter Monatsname gemäß dem Gebietsschema (ein Alias von %b)',
+ 'i' => '',
+ 'j' => 'Tag des Jahres als dreistellige Zahl, ggf. mit vorangestellten Nullen',
+ 'k' => 'Stunde im 24-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden',
+ 'l' => 'Stunde im 12-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden',
+ 'm' => 'Zweistellige nummerische Darstellung des Monats',
+ 'n' => 'Ein Zeilenvorschubzeichen ("\n")',
+ 'o' => '',
+ 'p' => '"AM" oder "PM" in Großbuchstaben, basierend auf der gegebenen Zeit',
+ 'q' => '',
+ 'r' => 'Das gleiche wie "%I:%M:%S %p"',
+ 's' => 'Zeitstempel der Unix-Epochenzeit',
+ 't' => 'Ein Tabulatorzeichen ("\t")',
+ 'u' => 'ISO-8601 nummerische Darstellung des Wochentages',
+ 'v' => '',
+ 'w' => 'Nummerische Darstellung des Wochentags',
+ 'x' => 'Bevorzugte Datumsdarstellung gemäß dem Gebietsschema, ohne Zeitangabe',
+ 'y' => 'Zweistellige nummerische Darstellung des Jahres',
+ 'z' => 'Entweder der Zeitzonenversatz zu UTC oder das Zeitzonenkürzel (depends on operating system)',
+ '%' => 'Ein buchstäbliches Prozentzeichen ("%")',
+);
+
+// Ergebnisse.
+$strftimeValues = array();
+
+// Werte die Formate aus während jegliche Fehler unterdrückt werden.
+foreach($strftimeFormats as $format => $description){
+ if (False !== ($value = @strftime("%{$format}"))){
+ $strftimeValues[$format] = $value;
+ }
+}
+
+// Ermittle den längsten Wert.
+$maxValueLength = 2 + max(array_map('strlen', $strftimeValues));
+
+// Berichte bekannte Formate.
+foreach($strftimeValues as $format => $value){
+ echo "Bekanntes Format : '{$format}' = ", str_pad("'{$value}'", $maxValueLength), " ( {$strftimeFormats[$format]} )\n";
+}
+
+// Berichte unbekannte Formate.
+foreach(array_diff_key($strftimeFormats, $strftimeValues) as $format => $description){
+ echo "Unbekanntes Format : '{$format}' ", str_pad(' ', $maxValueLength), ($description ? " ( {$description} )" : ''), "\n";
+}
+?>
+]]>
+ </programlisting>
+ &example.outputs.similar;
+ <screen>
+<![CDATA[
+Bekanntes Format : 'A' = 'Freitag' ( Ausgeschriebener Name des Wochentages )
+Bekanntes Format : 'B' = 'Dezember' ( Vollständiger Monatsname gemäß dem Gebietsschema )
+Bekanntes Format : 'C' = '20' ( Zweistellige nummerische Darstellung des Jahrhunders (Jahr geteilt durch 100, abgerundet zu einer Ganzzahl) )
+Bekanntes Format : 'D' = '12/03/10' ( Das gleiche wie "%m/%d/%y" )
+Bekanntes Format : 'F' = '2010-12-03' ( Same as "%Y-%m-%d" )
+Bekanntes Format : 'G' = '2010' ( Die vollständige vierstellige nummerische Version von %g )
+Bekanntes Format : 'H' = '11' ( Zweistellige nummerische Darstellung der Stunde im 24-Stunden-Format )
+Bekanntes Format : 'I' = '11' ( Zweistellige nummerische Darstellung der Stunde im 12-Stunden-Format )
+Bekanntes Format : 'M' = '24' ( Zweistellige nummerische Darstellung der Minute )
+Bekanntes Format : 'R' = '11:24' ( Das gleiche wie "%H:%M" )
+Bekanntes Format : 'S' = '44' ( Zweistellige nummerische Darstellung der Sekunde )
+Bekanntes Format : 'T' = '11:24:44' ( Das gleiche wie "%H:%M:%S" )
+Bekanntes Format : 'U' = '48' ( Nummer der Kalenderwoche des gegebenen Jahres, beginnend mit dem ersten Sonntag als erste Woche )
+Bekanntes Format : 'V' = '48' ( ISO-8601:1988 Kalenderwochennummer des gegebenen Jahres, beginnend mit der ersten Woche des Jahres mit wenigstens 4 Wochentagen, wobei Montag der Start der Kalenderwoche ist )
+Bekanntes Format : 'W' = '48' ( Nummerische Darstellung der Kalenderwoche, beginnend mit dem ersten Montag als erste Woche )
+Bekanntes Format : 'X' = '11:24:44' ( Bevorzugte Zeitdarstellung gemäß dem Gebietsschema, ohne Datumsangabe )
+Bekanntes Format : 'Y' = '2010' ( Vierstellige nummerische Darstellung des Jahres )
+Bekanntes Format : 'Z' = 'Mitteleuropäische Zeit' ( Das Zeitzonenkürzel oder die Zeitzone (abhängig vom Betriebssystem) )
+Bekanntes Format : 'a' = 'Fr' ( Abgekürzter Name des Wochentages )
+Bekanntes Format : 'b' = 'Dez' ( Abgekürzter Monatsname gemäß dem Gebietsschema )
+Bekanntes Format : 'c' = '03.12.2010 11:24:44' ( Bevorzugter Datums- und Zeitstempel gemäß dem Gebietsschema )
+Bekanntes Format : 'd' = '03' ( Tag des Monats als zweistellige Zahl (ggf. mit vorangestellten Nullen) )
+Bekanntes Format : 'e' = ' 3' ( Tag des Monats als Dezimal-Wert; einstelligen Werten wird ein Leerzeichen voran gestellt )
+Bekanntes Format : 'g' = '10' ( Zweistellige nummerische Darstellung des Jahres gemäß dem ISO-8601:1988 Standard (siehe %V) )
+Bekanntes Format : 'h' = 'Dez' ( Abgekürzter Monatsname gemäß dem Gebietsschema (ein Alias von %b) )
+Bekanntes Format : 'j' = '337' ( Tag des Jahres als dreistellige Zahl, ggf. mit vorangestellten Nullen )
+Bekanntes Format : 'm' = '12' ( Zweistellige nummerische Darstellung des Monats )
+Bekanntes Format : 'n' = '
+' ( Ein Zeilenvorschubzeichen ("\n") )
+Bekanntes Format : 'r' = '11:24:44' ( Das gleiche wie "%I:%M:%S %p" )
+Bekanntes Format : 't' = ' ' ( Ein Tabulatorzeichen ("\t") )
+Bekanntes Format : 'u' = '5' ( ISO-8601 nummerische Darstellung des Wochentages )
+Bekanntes Format : 'w' = '5' ( Nummerische Darstellung des Wochentags )
+Bekanntes Format : 'x' = '03.12.2010' ( Bevorzugte Datumsdarstellung gemäß dem Gebietsschema, ohne Zeitangabe )
+Bekanntes Format : 'y' = '10' ( Zweistellige nummerische Darstellung des Jahres )
+Bekanntes Format : 'z' = '+0100' ( Entweder der Zeitzonenversatz zu UTC oder das Zeitzonenkürzel (depends on operating system) )
+Bekanntes Format : '%' = '%' ( Ein buchstäbliches Prozentzeichen ("%") )
+Unbekanntes Format : 'E'
+Unbekanntes Format : 'J'
+Unbekanntes Format : 'K'
+Unbekanntes Format : 'L'
+Unbekanntes Format : 'N'
+Unbekanntes Format : 'O'
+Unbekanntes Format : 'P' ( "am" oder "pm" in Kleinbuchstaben, basierend auf der gegebenen Zeit )
+Unbekanntes Format : 'Q'
+Unbekanntes Format : 'f'
+Unbekanntes Format : 'i'
+Unbekanntes Format : 'k' ( Stunde im 24-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden )
+Unbekanntes Format : 'l' ( Stunde im 12-Stunden-Format mit einem Leerzeichen vor einstelligen Stunden )
+Unbekanntes Format : 'o'
+Unbekanntes Format : 'p' ( "AM" oder "PM" in Großbuchstaben, basierend auf der gegebenen Zeit )
+Unbekanntes Format : 'q'
+Unbekanntes Format : 's' ( Zeitstempel der Unix-Epochenzeit )
+Unbekanntes Format : 'v'
+]]>
+ </screen>
+ </example>
+ </para>
+ </refsect1>
+
+ <refsect1 role="notes">
+ &reftitle.notes;
+ <note>
+ <simpara>
+ %G und %V, die auf ISO 8601:1988 Wochennummern basieren, können unerwartete
+ (obgleich richtige) Ergebnisse ergeben, wenn das Nummernsystem nicht
+ gründlich verstanden wird. Siehe die %V Beispiele auf dieser Handbuchseite.
+ </simpara>
+ </note>
+ </refsect1>
+
+ <refsect1 role="seealso">
+ &reftitle.seealso;
+ <para>
+ <simplelist>
+ <member><link xlink:href="&url.strftime.format.designer;">Online strftime() Format-Erstellungstool</link></member>
+ <member><function>setlocale</function></member>
+ <member><function>mktime</function></member>
+ <member><function>strptime</function></member>
+ <member><function>gmstrftime</function></member>
+ <member><link xlink:href="&spec.strftime;">Open Group Spezifikation von <function>strftime</function></link></member>
+ </simplelist>
+ </para>
+ </refsect1>
+</refentry>
+
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml