betz Mon Mar 25 08:26:28 2002 EDT
Modified files:
/phpdoc/de/functions datetime.xml
Log:
sync to en 1.69
Index: phpdoc/de/functions/datetime.xml
diff -u phpdoc/de/functions/datetime.xml:1.24 phpdoc/de/functions/datetime.xml:1.25
--- phpdoc/de/functions/datetime.xml:1.24 Sat Feb 2 10:33:59 2002
+++ phpdoc/de/functions/datetime.xml Mon Mar 25 08:26:28 2002
@@ -1,4 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.69 Maintainer: betz Status: ready -->
<reference id="ref.datetime">
<title>Datums- und Zeit-Funktionen</title>
<titleabbrev>Datum/Zeit</titleabbrev>
@@ -15,15 +16,15 @@
<refsect1>
<title>Beschreibung:</title>
<methodsynopsis>
- <type>int</type><methodname>checkdate</methodname>
+ <type>bool</type><methodname>checkdate</methodname>
<methodparam><type>int</type><parameter>Monat</parameter></methodparam>
<methodparam><type>int</type><parameter>Tag</parameter></methodparam>
<methodparam><type>int</type><parameter>Jahr</parameter></methodparam>
</methodsynopsis>
<para>
- Gibt &true; / wahr zur�ck, wenn das angegebene Datum g�ltig ist,
- sonst wird &false; / falsch zur�ck gegeben. Pr�ft die G�ltigkeit der
- angebenen Datumswerte. Ein Datum wird als g�ltig angesehen, wenn
+ Ist das angegebene Datum g�ltig wird &true; zur�ckgegeben, ansonsten
+ &false;. Pr�ft die G�ltigkeit der angebenen Datumswerte. Ein Datum wird
+ als g�ltig angesehen, wenn
<itemizedlist>
<listitem>
<simpara>
@@ -37,12 +38,16 @@
</listitem>
<listitem>
<simpara>
- der Tag innerhalb der erlaubten Werte des angegebenen Monats
- ist. Schaltjahre werden ber�cksichtigt.
+ der <parameter>Tag</parameter> innerhalb der erlaubten Werte des angegebenen
+ <parameter>Monat</parameter>s ist. Schalt<parameter>Jahre</parameter>
+ werden ber�cksichtigt.
</simpara>
</listitem>
</itemizedlist>
</para>
+ <para>
+ Siehe auch <function>mktime</function> und <function>strtotime</function>.
+ </para>
</refsect1>
</refentry>
@@ -55,190 +60,219 @@
<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>
+ <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 gegeben ist.
+ <parameter>Timestamp</parameter> oder die gegenw�rtige lokale
+ Zeit ber�cksichtigt, wenn kein Timestamp angegegeben wird.
</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.)
+ </para>
+ <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 (siehe die MySQL-Funktion UNIX_TIMESTAMP).
+ </para>
+ </note>
<para>
Die folgenden Platzhalter werden zur Formatierung benutzt:
<itemizedlist>
<listitem>
<simpara>
- a - "am" oder "pm"
+ a - "am" oder "pm"
</simpara>
</listitem>
<listitem>
<simpara>
- A - "AM" oder "PM"
+ A - "AM" oder "PM"
</simpara>
</listitem>
<listitem>
<simpara>
- B - Swatch-Internet-Zeit
+ B - Swatch-Internet-Zeit
</simpara>
</listitem>
<listitem>
<simpara>
- d - Tag des Monats, 2-stellig mit f�hrender &null;: "01" bis
- "31"
+ d - Tag des Monats, 2-stellig mit f�hrender Null: "01" bis "31"
</simpara>
</listitem>
<listitem>
<simpara>
- D - Tag der Woche als 3 Buchstaben, z.B. "Fri"
+ D - Tag der Woche als 3 Buchstaben, z.B. "Fri"
</simpara>
</listitem>
<listitem>
<simpara>
- F - Monat als ganzes Wort, z.B "January"
+ F - Monat als ganzes Wort, z.B "January"
</simpara>
</listitem>
<listitem>
<simpara>
- g - Stunde im 12-Stunden-Format ohne f�hrende &null;: "1" bis
- "12"
+ g - Stunde im 12-Stunden-Format, ohne f�hrende Null: "1" bis "12"
</simpara>
</listitem>
<listitem>
<simpara>
- G - Stunde im 24-Stunden-Format ohne f�hrende &null;: "0" bis
- "23"
+ G - Stunde im 24-Stunden-Format, ohne f�hrende Null: "0" bis "23"
</simpara>
</listitem>
<listitem>
<simpara>
- h - Stunde im 12-Stunden-Format: "01" bis "12"
+ h - Stunde im 12-Stunden-Format: "01" bis "12"
</simpara>
</listitem>
<listitem>
<simpara>
- H - Stunde im 24-Stunden-Format: "00" bis "23"
+ H - Stunde im 24-Stunden-Format: "00" bis "23"
</simpara>
</listitem>
<listitem>
<simpara>
- i - Minuten: "00" bis "59"
+ i - Minuten: "00" bis "59"
</simpara>
</listitem>
<listitem>
<simpara>
- I (gro�es 'i') - "1" bei Sommerzeit, sonst "0"
+ I (gro�es 'i') - "1" bei Sommerzeit, sonst "0"
</simpara>
</listitem>
<listitem>
<simpara>
- j - Tag des Monats ohne f�hrende &null;: "1" bis "31"
+ j - Tag des Monats ohne f�hrende Null: "1" bis "31"
</simpara>
</listitem>
<listitem>
<simpara>
- l - (kleines 'L') ausgeschriebener Tag der Woche,
- z.B. "Friday"
+ l - (kleines 'L') ausgeschriebener Tag der Woche, z.B. "Friday"
</simpara>
</listitem>
<listitem>
<simpara>
- L - boolscher Wert f�r Schaltjahre: "0" oder "1"
+ L - boolscher Wert f�r Schaltjahre: "0" oder "1"
</simpara>
</listitem>
<listitem>
<simpara>
- m - Monat: "01" to "12"
+ m - Monat: "01" to "12"
</simpara>
</listitem>
<listitem>
<simpara>
- n - Monat ohne f�hrende &null;: "1" bis "12"
+ M - Monat als 3 Buchstaben, z.B. "Jan"
</simpara>
</listitem>
<listitem>
<simpara>
- M - Monat als 3 Buchstaben, z.B. "Jan"
+ n - Monat ohne f�hrende Null: "1" bis "12"
</simpara>
</listitem>
<listitem>
<simpara>
- O - Zeitdifferenz zur Greenwich Zeit in Stunden (z.B. +0200)
+ O - Zeitdifferenz zur Greenwich Zeit in Stunden (z.B. +0200)
</simpara>
</listitem>
<listitem>
<simpara>
- r - Nach RFC 822 formattiertes Datum; z.B.
- "Sun, 7 Oct 2001 14:56:02 +0200" (seit PHP 4.0.4)
+ r - Nach RFC 822 formattiertes Datum; z.B.:
+ "Sun, 7 Oct 2001 14:56:02 +0200" (seit PHP 4.0.4)
</simpara>
</listitem>
<listitem>
<simpara>
- s - Sekunden: "00" bis "59"
+ s - Sekunden: "00" bis "59"
</simpara>
</listitem>
<listitem>
<simpara>
- S - Anhang der englischen Aufz�hlung, 2 Buchstaben, z.B. "th"
- [bei 4 f�r fourth], "nd" [bei 2 f�r second]
+ S - Anhang der englischen Aufz�hlung, 2 Buchstaben, z.B. "th"
+ [bei 4 f�r fourth], "nd" [bei 2 f�r second]
</simpara>
</listitem>
<listitem>
<simpara>
- t - Anzahl der Tage des angegebenen Monats: "28" bis "31"
+ t - Anzahl der Tage des angegebenen Monats: "28" bis "31"
</simpara>
</listitem>
- <listitem>
+ <listitem>
<simpara>
- T - Zeitzoneneinstellung des Rechners, z.B. "MDT"
+ T - Zeitzoneneinstellung des Rechners, z.B. "MDT"
</simpara>
</listitem>
<listitem>
<simpara>
- U - Sekunden seit Beginn der UNIX-Epoche (1.1.1970)
+ U - Sekunden seit Beginn der UNIX-Epoche (1.1.1970)
</simpara>
</listitem>
<listitem>
<simpara>
- w - Wochentag beginnend mit "0" (Sonntag) bis "6" (Samstag)
+ w - Wochentag numersich, beginnend mit "0" (Sonntag) bis "6" (Samstag)
</simpara>
</listitem>
<listitem>
<simpara>
- W - ISO-8601 Wochennummer des Jahres (Woche beginnt mit Montag)
- (seit PHP 4.1.0)
+ W - ISO-8601 Wochennummer des Jahres (Woche beginnt mit Montag)
+ (seit PHP 4.1.0)
</simpara>
</listitem>
<listitem>
<simpara>
- Y - Jahr als vierstellige Zahl, z.B. "1999"
+ y - Jahr als zweistellige Zahl, z.B. "99"
</simpara>
</listitem>
<listitem>
<simpara>
- y - Jahr als zweistellige Zahl, z.B. "99"
+ Y - Jahr als vierstellige Zahl, z.B. "1999"
</simpara>
</listitem>
<listitem>
<simpara>
- z - Tag des Jahres: "0" bis "365"
+ z - Tag des Jahres: "0" bis "365"
</simpara>
</listitem>
<listitem>
<simpara>
- Z - Offset der Zeitzone gegen GTM ("-43200" bis "43200") in
- Minuten
+ Z - Offset der Zeitzone gegen GTM ("-43200" bis "43200") in
+ Sekunden. Der Offset f�r Zeitzone West nach UTC ist immer negativ
+ und f�r Zeitzone Ost nach UTC immer positiv.
</simpara>
</listitem>
</itemizedlist>
- Nicht definierte Zeichen werden unver�ndert zur�ck gegeben. Das
- "Z"-Format gibt "0" zur�ck beim Gebrauch von
- <function>gmdate</function>.
+ Nicht definierte Zeichen werden unver�ndert zur�ck gegeben. Das
+ "Z"-Format gibt beim Gebrauch von <function>gmdate</function> immer
+ "0" zur�ck.
+ </para>
+ <para>
<example>
<title><function>date</function> Beispiel</title>
<programlisting role="php">
+<![CDATA[
print (date("l dS of F Y h:i:s A"));
print ("July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000)));
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
+ M�chten Sie verhindern, dass ein definiertes 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[
+echo date("l \\t\h\e jS"); // gibt etwas �hnliches aus wie 'Saturday the 8th'
+]]>
</programlisting>
</example>
</para>
@@ -249,12 +283,50 @@
<example>
<title>
<function>date</function> und <function>mktime</function>
- Beispiel
+ Beispiele
</title>
<programlisting role="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"));
+<![CDATA[
+$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 zu ber�cksichtigen ist.
+ </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 Beduetung 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
+ benutzen, damit Zeichenfolgen wie zum Beispiel \n zu keinem
+ Zeilenumbruch f�hren.
+ <example>
+ <title>
+ <function>date</function> Formatierungen
+ </title>
+ <programlisting role="php">
+<![CDATA[
+/* Today is 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>
@@ -265,8 +337,9 @@
nutzen.
</para>
<para>
- Siehe auch <function>gmdate</function> und
- <function>mktime</function>.
+ Siehe auch <function>getlastmod</function>, <function>gmdate</function>,
+ <function>mktime</function>, <function>strftime</function>
+ und <function>time</function>.
</para>
</refsect1>
</refentry>
@@ -280,63 +353,79 @@
<title>Beschreibung:</title>
<methodsynopsis>
<type>array</type><methodname>getdate</methodname>
- <methodparam><type>int</type><parameter>timestamp</parameter></methodparam>
+ <methodparam
+choice="opt"><type>int</type><parameter>Timestamp</parameter></methodparam>
</methodsynopsis>
<para>
Gibt ein assoziatives Array mit Datums- und Zeitangaben des
- angegebenen Timestamp zur�ck. Die Arrayelemente sind folgende:
+ angegebenen <parameter>Timestamp</parameter> zur�ck. Wird kein Timestamp
+ angegeben, wird die lokal g�ltige Zeit ber�cksichtigt. Die Arrayelemente
+ sind folgende:
<itemizedlist>
<listitem>
<simpara>
- "seconds" - Sekunden
+ "seconds" - Sekunden
</simpara>
</listitem>
<listitem>
<simpara>
- "minutes" - Minuten
+ "minutes" - Minuten
</simpara>
</listitem>
<listitem>
<simpara>
- "hours" - Stunden
+ "hours" - Stunden
</simpara>
</listitem>
<listitem>
<simpara>
- "mday" - Tag des Monats
+ "mday" - Tag des Monats
</simpara>
</listitem>
<listitem>
<simpara>
- "wday" - numerischer Tag der Woche
+ "wday" - numerischer Tag der Woche: von 0 als Sonntag bis 6 als Samstag
</simpara>
</listitem>
<listitem>
<simpara>
- "mon" - Monat als Zahl
+ "mon" - Monat als Zahl
</simpara>
</listitem>
<listitem>
<simpara>
- "year" - Jahr als Zahl
+ "year" - Jahr als Zahl
</simpara>
</listitem>
<listitem>
<simpara>
- "yday" - Tag des Jahres als Zahlwert, z.B. "299"
+ "yday" - Tag des Jahres als Zahlwert, z.B. "299"
</simpara>
</listitem>
<listitem>
<simpara>
- "weekday" - ausgeschriebener Wochentag, z.B. "Friday"
+ "weekday" - ausgeschriebener Wochentag, z.B. "Friday"
</simpara>
</listitem>
<listitem>
<simpara>
- "month" - ausgeschriebener Monatsname, z.B. "January"
+ "month" - ausgeschriebener Monatsname, z.B. "January"
</simpara>
</listitem>
</itemizedlist>
+ <example>
+ <title>
+ <function>getdate</function> Beispiel
+ </title>
+ <programlisting role="php">
+<![CDATA[
+$heute = getdate();
+$monat = $heute['month'];
+$tag_monat = $heute['mday'];
+$Jahr = $heute['year'];
+echo "$monat $tag_monat, $jahr";
+]]>
+ </programlisting>
+ </example>
</para>
</refsect1>
</refentry>
@@ -354,27 +443,27 @@
</methodsynopsis>
<para>
Es handelt sich um eine Schnittstelle zum Systemaufruf von
- gettimeofday(2). Die Zeitangaben werden als assoziatives Array
+ gettimeofday(2). Die Zeitangaben werden als assoziatives Array
zur�ck gegeben. Folgende Arrayelemente sind vorhanden:
<itemizedlist>
<listitem>
<simpara>
- "sec" - Sekunden
+ "sec" - Sekunden
</simpara>
</listitem>
<listitem>
<simpara>
- "usec" - Microsekunden
+ "usec" - Microsekunden
</simpara>
</listitem>
<listitem>
<simpara>
- "minuteswest" - Minuten westlich von Greenwich
+ "minuteswest" - Minuten westlich von Greenwich
</simpara>
</listitem>
<listitem>
<simpara>
- "dsttime" - Art der Korrektur der Sommerzeit
+ "dsttime" - Art der Korrektur der Sommerzeit
</simpara>
</listitem>
</itemizedlist>
@@ -385,17 +474,17 @@
<refentry id="function.gmdate">
<refnamediv>
<refname>gmdate</refname>
- <refpurpose>Formatiert eine GMT Zeitangabe</refpurpose>
+ <refpurpose>Formatiert eine GMT/CUT Zeit- Datumsangabe</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung:</title>
<methodsynopsis>
<type>string</type><methodname>gmdate</methodname>
- <methodparam><type>string</type><parameter>format</parameter></methodparam>
- <methodparam><type>int</type><parameter>timestamp</parameter></methodparam>
+ <methodparam><type>string</type><parameter>Format</parameter></methodparam>
+ <methodparam
+choice="opt"><type>int</type><parameter>Timestamp</parameter></methodparam>
</methodsynopsis>
<para>
- Entspricht der <function>date</function> Funktion, ausser das als
+ Entspricht der <function>date</function> Funktion, ausser dass als
Zeitangabe immer Greenwich Mean Time (GMT) zur�ck gegeben
wird. Steht ihr System in Deutschland (GMT + 01:00) wird im
Beispiel unten (1. Zeile) "Jan 01 1998 00:00:00" ausgegeben,
@@ -403,14 +492,16 @@
<example>
<title><function>gmdate</function> Beispiel</title>
<programlisting role="php">
-echo date ("M d Y H:i:s", mktime (0,0,0,1,1,1998))."\n";
-echo gmdate("M d Y H:i:s", mktime (0,0,0,1,1,1998))."\n";
+<![CDATA[
+echo date ("M d Y H:i:s", mktime (0,0,0,1,1,1998));
+echo gmdate("M d Y H:i:s", mktime (0,0,0,1,1,1998));
+]]>
</programlisting>
</example>
</para>
<para>
Siehe auch <function>date</function>, <function>mktime</function>
- und <function>gmmktime</function>.
+ ,<function>gmmktime</function> und <function>strftime</function>.
</para>
</refsect1>
</refentry>
@@ -419,7 +510,7 @@
<refnamediv>
<refname>gmmktime</refname>
<refpurpose>
- Gibt den UNIX timestamp (Zeitstempel) als GMT zur�ck
+ Gibt einen UNIX-Timestamp (Zeitstempel) als GMT zur�ck
</refpurpose>
</refnamediv>
<refsect1>
@@ -428,7 +519,7 @@
<type>int</type><methodname>gmmktime</methodname>
<methodparam><type>int</type><parameter>Stunde</parameter></methodparam>
<methodparam><type>int</type><parameter>Minute</parameter></methodparam>
- <methodparam><type>int</type><parameter>Secunde</parameter></methodparam>
+ <methodparam><type>int</type><parameter>Sekunde</parameter></methodparam>
<methodparam><type>int</type><parameter>Monat</parameter></methodparam>
<methodparam><type>int</type><parameter>Tag</parameter></methodparam>
<methodparam><type>int</type><parameter>Jahr</parameter></methodparam>
@@ -436,7 +527,7 @@
</methodsynopsis>
<para>
Identisch zu <function>mktime</function>. Die angegebenen
- Parameter werden aber als GMT-Datum/Zeit zur�ck gegeben.
+ Parameter werden aber als GMT-Datum/Zeit interpretiert.
</para>
</refsect1>
</refentry>
@@ -445,33 +536,31 @@
<refnamediv>
<refname>gmstrftime</refname>
<refpurpose>
- Wandelt eine lokale Zeitangabe in GMT-Format um
+ Formatiert eine Datum-/Zeitangabe in GMT/CUT-Format entsprechend den
+ lokalen Einstellungen
</refpurpose>
</refnamediv>
<refsect1>
<title>Beschreibung:</title>
<methodsynopsis>
<type>string</type><methodname>gmstrftime</methodname>
- <methodparam><type>string</type><parameter>format</parameter></methodparam>
- <methodparam><type>int</type><parameter>timestamp</parameter></methodparam>
+ <methodparam><type>string</type><parameter>Format</parameter></methodparam>
+ <methodparam
+choice="opt"><type>int</type><parameter>Timestamp</parameter></methodparam>
</methodsynopsis>
- <note>
- <para>
- Erst ab Version 3.0.12
- </para>
- </note>
<para>
Bewirkt das gleiche wie <function>strftime</function> mit dem
Unterschied, dass die GMT-Zeit zur�ck gegeben wird. In
Deutschland (GMT + 01:00) wird im folgenden Beispiel bei strftime
- "Dec 31 1998 00:00:00", bei gmstrftime dagegen "Dec 31 1998
+ "Dez 31 1998 00:00:00", bei gmstrftime dagegen "Dec 31 1998
23:00:00" ausgegeben.
<example>
<title><function>gmstrftime</function> Beispiel</title>
<programlisting role="php">
-setlocale ('LC_TIME', 'ge');
+<![CDATA[
+setlocale ('LC_TIME', 'de_DE');
echo strftime ("%b %d %Y %H:%M:%S", mktime(0,0,0,12,31,98))."\n";
echo gmstrftime ("%b %d %Y %H:%M:%S", mktime(0,0,0,12,31,98))."\n";
+]]>
</programlisting>
</example>
</para>
@@ -490,12 +579,8 @@
<title>Beschreibung:</title>
<methodsynopsis>
<type>array</type><methodname>localtime</methodname>
- <methodparam choice="opt"><type>int</type><parameter>
- timestamp
- </parameter></methodparam>
- <methodparam choice="opt"><type>bool</type><parameter>
- is_associative
- </parameter></methodparam>
+ <methodparam
+choice="opt"><type>int</type><parameter>Timestamp</parameter></methodparam>
+ <methodparam
+choice="opt"><type>bool</type><parameter>is_associative</parameter></methodparam>
</methodsynopsis>
<para>
Die <function>localtime</function>-Funktion gibt ein Array
@@ -513,47 +598,47 @@
<itemizedlist>
<listitem>
<simpara>
- "tm_sec" - Sekunde
+ "tm_sec" - Sekunde
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_min" - Minute
+ "tm_min" - Minute
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_hour" - Stunde
+ "tm_hour" - Stunde
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_mday" - Tag des Monats
+ "tm_mday" - Tag des Monats
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_mon" - Monat des Jahres
+ "tm_mon" - Monat des Jahres, beginnt bei 0 f�r Januar
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_year" - Jahr (nicht Y2K sicher)
+ "tm_year" - Jahr seit 1900
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_wday" - Tag der Woche
+ "tm_wday" - Tag der Woche
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_yday" - Tag des Jahres
+ "tm_yday" - Tag des Jahres
</simpara>
</listitem>
<listitem>
<simpara>
- "tm_isdst" - f�r das Datum ist die Sommerzeit zu ber�cksichtigen
+ "tm_isdst" - f�r das Datum ist die Sommerzeit zu ber�cksichtigen
</simpara>
</listitem>
</itemizedlist>
@@ -565,7 +650,7 @@
<refnamediv>
<refname>microtime</refname>
<refpurpose>
- Gibt den aktuellen UNIX Timestamp/Zeitstempel in Mikrosekunden
+ Gibt den aktuellen UNIX-Timestamp/Zeitstempel in Mikrosekunden
zur�ck
</refpurpose>
</refnamediv>
@@ -583,6 +668,31 @@
m�glich, die den Systemaufruf gettimeofday() unterst�tzen.
</para>
<para>
+ Beide Teile des Strings werden in Sekunden zur�ckgegen.
+ <example>
+ <title><function>microtime</function> Beispiel</title>
+ <programlisting role="php">
+<![CDATA[
+function getmicrotime(){
+ list($usec, $sec) = explode(" ",microtime());
+ return ((float)$usec + (float)$sec);
+ }
+
+$time_start = getmicrotime();
+
+for ($i=0; $i < 1000; $i++){
+ //mach nichts,1000 mal
+ }
+
+$time_end = getmicrotime();
+$time = $time_end - $time_start;
+
+echo "Nichts getan in $time Sekunden";
+]]>
+ </programlisting>
+ </example>
+ </para>
+ <para>
Siehe auch <function>time</function>.
</para>
</refsect1>
@@ -592,7 +702,7 @@
<refnamediv>
<refname>mktime</refname>
<refpurpose>
- Gibt den UNIX Timestamp/Zeitstempel f�r ein Datum zur�ck
+ Gibt den UNIX-Timestamp/Zeitstempel f�r ein Datum zur�ck
</refpurpose>
</refnamediv>
<refsect1>
@@ -610,23 +720,23 @@
<para>
<emphasis>Warnung:</emphasis> Beachten sie die andersartige
Anordnung der Argumente. Diese unterscheidet sich von der
- Reihenfolge des UNIX-Befehls mktime(). Das ist eine h�ufige
+ Reihenfolge des UNIX-Befehls mktime(). Das ist eine h�ufige
Fehlerursache in Scripts.
</para>
<para>
Gibt den UNIX Timestamp/Zeitstempel an Hand der gegebenen
- Argumente zur�ck. Der Zeitstempel ist ein long-integer-Wert, der
- die Anzahl der Sekunden zwischen der UNIX Epoche (01.01.1970) und
+ Argumente zur�ck. Der Zeitstempel ist ein long-integer-Wert, der
+ die Anzahl der Sekunden zwischen der UNIX Epoche (January 1 1970) und
der angegebenen Zeit enth�lt.
</para>
<para>
Einzelne Argumente k�nnen von rechts nach links weggelassen
- werden. Sie werden dann ersetzt mit den Werten der lokalen
+ werden. Sie werden dann ersetzt mit den Werten der lokalen
Systemzeit bzw. des lokalen Systemdatums.
</para>
<para>
<parameter>is_dst</parameter> kann bei Sommerzeit auf 1 gesetzt
- werden. 0 bedeutet Winter-/Normalzeit, -1 (Vorgabewert)
+ werden. 0 bedeutet Winter-/Normalzeit, -1 (Vorgabewert)
heisst, dass nicht bekannt ist, ob Sommer- oder Winterzeit
herrscht.
</para>
@@ -637,23 +747,25 @@
</note>
<para>
<function>mktime</function> ist hilfreich bei Datumsberechnungen
- und -�berpr�fungen, z.B. wird versucht, automatisch das korrekte
- Datum zu berechnen. So wird in den folgenden Beispielen immer die
+ und -�berpr�fungen, da automatisch das korrekte Datum f�r ung�ltige
+ Angaben berechnet wird. So wird in den folgenden Beispielen immer die
Zeichenkette "Jan-01-1998" ausgegeben.
<example>
<title><function>mktime</function> Beispiel</title>
<programlisting>
+<![CDATA[
echo date ("M-d-Y", mktime(0,0,0,12,32,1997));
echo date ("M-d-Y", mktime(0,0,0,13,1,1997));
echo date ("M-d-Y", mktime(0,0,0,1,1,1998));
echo date ("M-d-Y", mktime(0,0,0,1,1,98));
+]]>
</programlisting>
</example>
- <parameter>year</parameter> darf auch zweistellig angegeben
- werden. Werte von 0 bis 69 stehen dann f�r die Jahre 2000 bis
+ Das <parameter>Jahr</parameter> darf zwei- oder vierstellig
+ angegeben werden. Werte von 0 bis 69 stehen dann f�r die Jahre 2000 bis
2069, und 70 bis 99 f�r die Jahre von 1970-1999 (auf Systemen,
die time_t als 32Bit-Integer abbilden, liegt der g�ltige Bereich
- f�r <parameter>year</parameter> zwischen 1902 und 2037).
+ f�r <parameter>Jahr</parameter> zwischen 1902 und 2037).
</para>
<para>
Der letzte Tag eines gegebenen Monats kann als der Tag "0" des
@@ -666,13 +778,13 @@
$lastday = mktime (0,0,0,3,0,2000);
echo strftime ("Letzter Tag im Feb. 2000 ist der %d.", $lastday);
-$lastday=mktime(0,0,0,4,-31,2000);
+$lastday = mktime(0,0,0,4,-31,2000);
echo strftime ("Letzter Tag im Feb. 2000 ist der %d.", $lastday);
</programlisting>
</example>
</para>
<simpara>
- Datumsangaben, bei denen das Jahr, der Monat und Tag gleich &null;
+ Datumsangaben, bei denen das Jahr, der Monat und Tag gleich Null
sind, werden als ung�ltig angesehen (ansonsten als 30.11.1999, was
nicht gewollt sein kann).
</simpara>
@@ -696,16 +808,15 @@
<type>string</type><methodname>strftime</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>
- timestamp
+ Timestamp
</parameter></methodparam>
</methodsynopsis>
<para>
- Gibt einen String zur�ck, der den angegebenen
- Formatierungs-Merkmalen entspricht. Dabei wird der gegebene
- Timestamp/Zeitstempel oder - falls dieser fehlt - die momentane
- lokale Zeit benutzt. Monats- und Wochentagsname wird entsprechend
- des per <function>setlocale</function> eingestellten Wertes
- gesetzt.
+ 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
@@ -713,186 +824,208 @@
<itemizedlist>
<listitem>
<simpara>
- %a - abgek�rzter Name des Wochentages, abh�ngig von der
- gesetzten Umgebung
+ %a - abgek�rzter Name des Wochentages, abh�ngig von der
+ gesetzten Umgebung
</simpara>
</listitem>
<listitem>
<simpara>
- %A - ausgeschriebener Name des Wochentages, abh�ngig von der
- gesetzten Umgebung
+ %A - ausgeschriebener Name des Wochentages, abh�ngig von der
+ gesetzten Umgebung
</simpara>
</listitem>
<listitem>
<simpara>
- %b - abgek�rzter Name des Monats, abh�ngig von der gesetzten
- Umgebung
+ %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
+ %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
+ %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)
+ %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 00 bis 31)
+ %d - Tag des Monats als Zahl (Bereich 00 bis 31)
</simpara>
</listitem>
<listitem>
<simpara>
- %D - so wie %m/%d/%y
+ %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 � 0� bis �31�)
+ %e - Tag des Monats als Dezimal-Wert, einstelligen Werten wird
+ ein Leerzeichen voran gestellt (Wertebereich � 0� bis �31�)
</simpara>
</listitem>
<listitem>
<simpara>
- %h - so wie %b
+ %g - wie %G, aber ohne Jahrhundert.
</simpara>
</listitem>
<listitem>
<simpara>
- %H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
+ %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 folgendem
+ Jahr, wird dieses Jahr verwendet.
</simpara>
</listitem>
<listitem>
<simpara>
- %I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
+ %h - so wie %b
</simpara>
</listitem>
<listitem>
<simpara>
- %j - Tag des Jahres als Zahl (Bereich 001 bis 366)
+ %H - Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)
</simpara>
</listitem>
<listitem>
<simpara>
- %m - Monat als Zahl (Bereich 01 bis 12)
+ %I - Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)
</simpara>
</listitem>
<listitem>
<simpara>
- %M - Minute als Dezimal-Wert
+ %j - Tag des Jahres als Zahl (Bereich 001 bis 366)
</simpara>
</listitem>
<listitem>
<simpara>
- %n - neue Zeile
+ %m - Monat als Zahl (Bereich 01 bis 12)
</simpara>
</listitem>
<listitem>
<simpara>
- %p - entweder `am' oder `pm' (abh�ngig von der gesetzten
- Umgebung) oder die entsprechenden Zeichenketten der gesetzten
- Umgebung
+ %M - Minute als Dezimal-Wert
</simpara>
</listitem>
<listitem>
<simpara>
- %r - Zeit in "am"- oder "pm"-Formatierung
+ %n - neue Zeile
</simpara>
</listitem>
<listitem>
<simpara>
- %R - Zeit in der 24-Stunden-Formatierung
+ %p - entweder `am' oder `pm' (abh�ngig von der gesetzten
+ Umgebung) oder die entsprechenden Zeichenketten der gesetzten
+ Umgebung
</simpara>
</listitem>
<listitem>
<simpara>
- %S - Sekunden als Dezimal-Wert
+ %r - Zeit im Format a.m. oder p.m.
</simpara>
</listitem>
<listitem>
<simpara>
- %t - Tabulator
+ %R - Zeit in der 24-Stunden-Formatierung
</simpara>
</listitem>
<listitem>
<simpara>
- %T - aktuelle Zeit, genau wie %H:%M:%S
+ %S - Sekunden als Dezimal-Wert
</simpara>
</listitem>
<listitem>
<simpara>
- %u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag
+ %t - Tabulator
</simpara>
</listitem>
<listitem>
<simpara>
- %U - Nummer der Woche des aktuellen Jahres als Dezimal-Wert,
- beginnend mit dem ersten Sonntag als erstem Tag der ersten Woche
+ %T - aktuelle Zeit, genau wie %H:%M:%S
</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)
+ %u - Tag der Woche als Dezimal-Wert [1,7], dabei ist 1 der Montag.
</simpara>
</listitem>
<listitem>
<simpara>
- %w - Wochentag als Dezimal-Wert, Sonntag ist 0
+ %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>
- %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem
- ersten Montag als erstem Tag der ersten Woche
+ %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>
- %x - bevorzugte Datumswiedergabe (ohne Zeit), abh�ngig von der
- gesetzten Umgebung
+ %w - Wochentag als Dezimal-Wert, Sonntag ist 0
</simpara>
</listitem>
<listitem>
<simpara>
- %X - bevorzugte Zeitwiedergabe (ohne Datum), abh�ngig von der
- gesetzten Umgebung
+ %W - Nummer der Woche des aktuellen Jahres, beginnend mit dem
+ ersten Montag als erstem Tag der ersten Woche.
</simpara>
</listitem>
<listitem>
<simpara>
- %y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
+ %x - bevorzugte Datumswiedergabe (ohne Zeit), abh�ngig von der
+ gesetzten Umgebung.
</simpara>
</listitem>
<listitem>
<simpara>
- %Y - Jahr als 4-stellige-Zahl
+ %X - bevorzugte Zeitwiedergabe (ohne Datum), abh�ngig von der
+ gesetzten Umgebung.
</simpara>
</listitem>
<listitem>
<simpara>
- %Z - Zeitzone
+ %y - Jahr als 2-stellige-Zahl (Bereich 00 bis 99)
</simpara>
</listitem>
<listitem>
<simpara>
- %% - ein %-Zeichen
+ %Y - Jahr als 4-stellige-Zahl
+ </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.
+ </para>
+ </note>
<example>
<title><function>strftime</function> Beispiel</title>
<programlisting role="php">
@@ -906,12 +1039,13 @@
print (strftime ("%A.\n"));
</programlisting>
</example>
- Diese Beispiel funktioniert, wenn sie die jeweilige Umgebung in
- ihrem System eingestellt haben.
+ Diese Beispiele funktionieren nur, wenn auf Ihrem System die entsprechenden
+ Locale-Codes installiert sind.
</para>
<para>
Siehe auch <function>setlocale</function> und
- <function>mktime</function>.
+ <function>mktime</function> und die <ulink url="&spec.strftime;">
+ Open Group Spezifikation von <function>strftime</function></ulink>.
</para>
</refsect1>
</refentry>
@@ -944,7 +1078,7 @@
<refname>strtotime</refname>
<refpurpose>
Wandelt ein beliebiges Datum (englisches Format) in einen
- Unix-Zeitstempel (timestamp) um
+ Unix-Zeitstempel (Timestamp) um.
</refpurpose>
</refnamediv>
<refsect1>
@@ -954,21 +1088,59 @@
<methodparam><type>string</type><parameter>time</parameter></methodparam>
<methodparam
choice="opt"><type>int</type><parameter>now</parameter></methodparam>
</methodsynopsis>
- <para>
+ <simpara>
Diese Funktion erwartet einen String mit einem Datum im
- englischen Format und versucht, dieses in einen UNIX-Timestamp
- umzusetzen.
+ englischen Format und versucht, diesen in einen UNIX-Timestamp
+ umzusetzen. Versucht wird dies relativ zu dem Timestamp den Sie mit
+ <parameter>now</parameter> angeben. Fehlt diese Angabe wird die aktuelle
+ Zeit angenommen. Schl�gt die Umwandlung fehl, wird <literal>-1</literal>
+ zur�ckgegeben.
+ </simpara>
+ <simpara>
+ Diese Funktion <function>strtotime</function> verh�lt sich gem�� der Syntax von
+ GNU Date. Daher sollten Sie einen Blick in die GNU Manual Seite
+ <ulink url="&url.gnu.man.date-input;">Date Input Formats</ulink> werfen.
+ Dort wird die g�ltige Syntax f�r <parameter>time</parameter> beschrieben.
+ </simpara>
+ <para>
<example>
<title><function>strtotime</function>-Beispiele:</title>
<programlisting role="php">
-echo strtotime ("now") . "\n";
-echo strtotime ("10 September 2000") . "\n";
-echo strtotime ("+1 day") . "\n";
-echo strtotime ("+1 week") . "\n";
-echo strtotime ("+1 week 2 days 4 hours 2 seconds") . "\n";
+<![CDATA[
+echo strtotime ("now"), "\n";
+echo strtotime ("10 September 2000"), "\n";
+echo strtotime ("+1 day"), "\n";
+echo strtotime ("+1 week"), "\n";
+echo strtotime ("+1 week 2 days 4 hours 2 seconds"), "\n";
+echo strtotime ("next Thursday"), "\n";
+echo strtotime ("last Monday"), "\n";
+]]>
</programlisting>
</example>
</para>
+ <para>
+ <example>
+ <title>Fehler�berpr�fung</title>
+ <programlisting role="php">
+<![CDATA[
+$str = 'Nicht gut';
+if (($timestamp = strtotime($str)) === -1) {
+ echo "Der String ($str) ist falsch.";
+} else {
+ echo "$str == ". date('l dS of F Y h:i:s A',$timestamp);
+}
+]]>
+ </programlisting>
+ </example>
+ </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 sind die Datumsangaben, die dem minimalen und maximalen Wert eines
+ vorzeichenbehafteten 32-bit Integer entsprechen.)
+ </para>
+ </note>
</refsect1>
</refentry>
@@ -990,5 +1162,8 @@
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
-->