1
0
mirror of https://github.com/php/doc-de.git synced 2026-03-29 18:52:13 +02:00
Files
archived-doc-de/reference/datetime/functions/date.xml
Arne Blankerts 6d7505f329 grammatik fehler behoben
git-svn-id: https://svn.php.net/repository/phpdoc/de/trunk@193614 c90b9560-bf6c-de11-be94-00142212c4b1
2005-08-16 09:48:15 +00:00

361 lines
14 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.14 $ -->
<!-- EN-Revision: 1.15 Maintainer: betz Status: ready -->
<refentry id="function.date">
<refnamediv>
<refname>date</refname>
<refpurpose>Formatiert ein(e) angegebene(s) Zeit/Datum</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung:</title>
<methodsynopsis>
<type>string</type><methodname>date</methodname>
<methodparam><type>string</type><parameter>Format</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>Timestamp</parameter></methodparam>
</methodsynopsis>
<para>
Gibt einen formatierten String anhand eines vorzugebenden Musters
zurück. Dabei wird entweder der angegebene
<parameter>Timestamp</parameter> oder die gegenwärtige lokale Zeit berücksichtigt,
wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter
<parameter>Timestamp</parameter> ist optional und falls dieser nicht angegeben wird,
wird der Wert der Funktion <function>time</function> angenommen.
</para>
<note>
<para>
Der gültige Bereich eines Timestamp liegt typischerweise zwischen
Fri, 13 Dec 1901 20:45:54 GMT und Tue, 19 Jan 2038 03:14:07 GMT.
(Das entspricht den minimalen und maximalen Werten für einen
vorzeichenbehafteten 32-Bit Integer). Unter Windows-Betriebssytemen
ist dieser Bereich auf 01-01-1970 bis 19-01-2038 beschränkt.
</para>
</note>
<note>
<para>
Um einen Timestamp aus aus einem Datums-String zu erzeugen, können Sie
die Funktion <function>strtotime</function> benutzen. Zusätzlich bieten
einige Datenbanken Funktionen, um Ihre Datumsfromate in Timestamps
umzuwandeln (wie zum Beispiel MySQL's
<ulink url="&url.mysql.docs.date;">UNIX_TIMESTAMP</ulink> Funktion.
</para>
</note>
<para>
<table>
<title>
Die folgenden Zeichen werden im Parameter <parameter>Format</parameter>erkannt
</title>
<tgroup cols="3">
<thead>
<row>
<entry><parameter>Format</parameter> Zeichen</entry>
<entry>Beschreibung</entry>
<entry>Beispiel für Rückgabewerte</entry>
</row>
</thead>
<tbody>
<row>
<entry><literal>a</literal></entry>
<entry>Kleingeschrieben: Ante meridiem und Post meridiem</entry>
<entry><literal>am</literal> oder <literal>pm</literal></entry>
</row>
<row>
<entry><literal>A</literal></entry>
<entry>Großgeschrieben: Ante meridiem und Post meridiem</entry>
<entry><literal>AM</literal> oder <literal>PM</literal></entry>
</row>
<row>
<entry><literal>B</literal></entry>
<entry>Swatch-Internet-Zeit</entry>
<entry><literal>000</literal> bis <literal>999</literal></entry>
</row>
<row>
<entry><literal>c</literal></entry>
<entry>ISO 8601 Datum (hinzugefügt in PHP 5)</entry>
<entry>2004-02-12T15:19:21+00:00</entry>
</row>
<row>
<entry><literal>d</literal></entry>
<entry>Tag des Monats, 2-stellig mit führender Null</entry>
<entry><literal>01</literal> bis <literal>31</literal></entry>
</row>
<row>
<entry><literal>D</literal></entry>
<entry>Tag der Woche gekürzt auf drei Buchstaben</entry>
<entry><literal>Mon</literal> bis <literal>Sun</literal></entry>
</row>
<row>
<entry><literal>F</literal></entry>
<entry>Monat als ganzes Wort, wie January oder March</entry>
<entry><literal>January</literal> bis <literal>December</literal></entry>
</row>
<row>
<entry><literal>g</literal></entry>
<entry>12-Stunden-Format, ohne führende Nullen</entry>
<entry><literal>1</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>G</literal></entry>
<entry>24-Stunden-Format, ohne führende Nullen</entry>
<entry><literal>0</literal> bis <literal>23</literal></entry>
</row>
<row>
<entry><literal>h</literal></entry>
<entry>12-Stunden-Format, mit führenden Nullen</entry>
<entry><literal>01</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>H</literal></entry>
<entry>24-Stunden-Format, mit führenden Nullen</entry>
<entry><literal>00</literal> bis <literal>23</literal></entry>
</row>
<row>
<entry><literal>i</literal></entry>
<entry>Minuten mit führenden Nullen</entry>
<entry><literal>00</literal> bis <literal>59</literal></entry>
</row>
<row>
<entry><literal>I</literal> (großes i)</entry>
<entry>Fällt ein Datum in die Sommerzeit</entry>
<entry><literal>1</literal> bei Sommerzeit, ansonsten <literal>0</literal>.</entry>
</row>
<row>
<entry><literal>j</literal></entry>
<entry>Tag des Monats ohne führende Nullen</entry>
<entry><literal>1</literal> bis <literal>31</literal></entry>
</row>
<row>
<entry><literal>l</literal> (kleines 'L')</entry>
<entry>Ausgeschriebener Tag der Woche</entry>
<entry><literal>Sunday</literal> bis <literal>Saturday</literal></entry>
</row>
<row>
<entry><literal>L</literal></entry>
<entry>Schaltjahr oder nicht</entry>
<entry><literal>1</literal> für ein Schaltjahr, ansonsten <literal>0</literal>.</entry>
</row>
<row>
<entry><literal>m</literal></entry>
<entry>Monat als Zahl, mit führenden Nullen</entry>
<entry><literal>01</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>M</literal></entry>
<entry>Monatsname mit drei Buchstaben</entry>
<entry><literal>Jan</literal> bis <literal>Dec</literal></entry>
</row>
<row>
<entry><literal>n</literal></entry>
<entry>Monatszahl, ohne führende Nullen</entry>
<entry><literal>1</literal> bis <literal>12</literal></entry>
</row>
<row>
<entry><literal>O</literal></entry>
<entry>Zeitunterschied zur Greenwich time (GMT) in Stunden</entry>
<entry>Beispiel: <literal>+0200</literal></entry>
</row>
<row>
<entry><literal>r</literal></entry>
<entry><ulink url="&url.rfc;2822">RFC 2822</ulink> formatiertes Datum</entry>
<entry>Beispiel: <literal>Thu, 21 Dec 2000 16:01:07 +0200</literal></entry>
</row>
<row>
<entry><literal>s</literal></entry>
<entry>Sekunden, mit führenden Nullen</entry>
<entry><literal>00</literal> bis <literal>59</literal></entry>
</row>
<row>
<entry><literal>S</literal></entry>
<entry>Anhang der englischen Aufzählung für einen Monatstag, zwei Zeichen</entry>
<entry>
<literal>st</literal>, <literal>nd</literal>, <literal>rd</literal> oder
<literal>th</literal>. Zur Verwendung mit <literal>j</literal> empfohlen.
</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><literal>T</literal></entry>
<entry>Zeitzoneneinstellung des Rechners</entry>
<entry>Beispiele: <literal>EST</literal>, <literal>MDT</literal> ...</entry>
</row>
<row>
<entry><literal>U</literal></entry>
<entry> Sekunden seit Beginn der UNIX-Epoche (January 1 1970 00:00:00 GMT)</entry>
<entry>Siehe auch <function>time</function></entry>
</row>
<row>
<entry><literal>w</literal></entry>
<entry>Numerischer Tag einer Woche</entry>
<entry><literal>0</literal> (für Sonntag) bis <literal>6</literal> (für Samstag)</entry>
</row>
<row>
<entry><literal>W</literal></entry>
<entry>ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag (hinzugefügt in PHP 4.1.0)</entry>
<entry>Beispiel: <literal>42</literal> (die 42 Woche im Jahr)</entry>
</row>
<row>
<entry><literal>Y</literal></entry>
<entry>Vierstellige Jahreszahl</entry>
<entry>Beispiel: <literal>1999</literal> oder <literal>2003</literal></entry>
</row>
<row>
<entry><literal>y</literal></entry>
<entry>Jahreszahl, zweistellig</entry>
<entry>Beispiele: <literal>99</literal> oder <literal>03</literal></entry>
</row>
<row>
<entry><literal>z</literal></entry>
<entry>Der Tag eines Jahres</entry>
<entry><literal>0</literal> bis <literal>365</literal></entry>
</row>
<row>
<entry><literal>Z</literal></entry>
<entry>
Offset der Zeitzone in Sekunden. Der Offset für Zeitzone West nach
UTC ist immer negativ und für Zeitzone Ost nach UTC immer positiv.
</entry>
<entry><literal>-43200</literal> bis <literal>43200</literal></entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
Nicht erkannte Zeichen werden unverändert ausgegeben. Das <literal>Z</literal>
Format gibt beim Gebrauch von <function>gmdate</function> immer
<literal>0</literal> zurück.
</para>
<para>
<example>
<title><function>date</function> Beispiel</title>
<programlisting role="php">
<![CDATA[
<?php
// Gibt etwas ähnliches zu Wednesday aus
echo date("l");
// Gibt etwas ähnliches aus wie: Wednesday 15th of January 2003 05:51:38 AM
echo date("l dS of F Y h:i:s A");
// Ausgabe: July 1, 2000 ist ein Saturday
echo "July 1, 2000 ist ein " . date("l", mktime(0, 0, 0, 7, 1, 2000));
?>
]]>
</programlisting>
</example>
</para>
<para>
Möchten Sie verhindern, dass ein erkanntes Zeichen im Formatstring
ersetzt wird, sollten Sie dieses Zeichen mit einem vorangestellten
Backslash escapen. Ist das Zeichen mit dem Backslash bereits eine
spezielle Zeichenfolge, müssen Sie diesen Backslash ebenso escapen.
<example>
<title>Escaping von Zeichen in <function>date</function></title>
<programlisting role="php">
<![CDATA[
// gibt etwas ähnliches aus wie 'Wednesday the 15th'
echo date("l \\t\h\e jS");
]]>
</programlisting>
</example>
</para>
<para>
Es ist möglich, <function>date</function> und
<function>mktime</function> gleichzeitig zu verwenden, um
Datumsangaben in der Zukunft/Vergangenheit zu bestimmen.
<example>
<title>
<function>date</function> und <function>mktime</function>
Beispiele
</title>
<programlisting role="php">
<![CDATA[
<?php
$morgen = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$letztermonat = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$naechstesjahr = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);
?>
]]>
</programlisting>
</example>
<note>
<para>
Dieses Vorgehen kann zu verlässlicheren Ergebnissen führen, als simples
addieren oder subtrahieren der Anzahl von Sekunden in Tagen oder Monaten
zu einem Timestamp, da Sommer- und Winterzeit berücksichtigt werden.
</para>
</note>
</para>
<para>
Es folgen einige Beispiele zur <function>date</function> Formatierung.
Beachten Sie, dass Sie alle anderen Zeichen escapen sollten, da alle
Zeichen, die im Augenblick eine spezielle Bedeutung haben, unerwünschte
Resultate liefern. Bei allen weiteren Zeichen kann es durchaus möglich
sein, dass diesen in zukünftigen PHP-Versionen eine Bedeutung zukommt.
Beim escapen sollten Sie darauf achten einfache Anführungszeichen zu
benutzen, damit Zeichenfolgen wie zum Beispiel \n zu keinem
Zeilenumbruch führen.
<example>
<title>
<function>date</function> Formatierungen
</title>
<programlisting role="php">
<![CDATA[
<?php
// Angenommen heute ist March 10th, 2001, 5:16:18 pm
$today = date("F j, Y, g:i a"); // March 10, 2001, 5:16 pm
$today = date("m.d.y"); // 03.10.01
$today = date("j, n, Y"); // 10, 3, 2001
$today = date("Ymd"); // 20010310
$today = date('h-i-s, j-m-y, it is w Day z '); // 05-16-17, 10-03-01, 1631 1618 6 Fripm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // It is the 10th day.
$today = date("D M j G:i:s T Y"); // Sat Mar 10 15:16:08 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h'); // 17:03:17 m is month
$today = date("H:i:s"); // 17:16:17
?>
]]>
</programlisting>
</example>
</para>
<para>
Um Datumsangaben in anderen Sprach-/Zeitzonen-Formaten
auszugeben, sollten Sie die Funktionen <function>setlocale</function>
und <function>strftime</function> benutzen.
</para>
<para>
Siehe auch
<function>getlastmod</function>,
<function>gmdate</function>,
<function>mktime</function>,
<function>strftime</function>
und <function>time</function>.
</para>
</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:"../../../../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
-->