|
|
@@ -6,8 +6,9 @@
|
|
|
<title>Zend_Date API Übersicht</title>
|
|
|
|
|
|
<para>
|
|
|
- Obwohl die API von <classname>Zend_Date</classname> simpel und eindeutig ist, ist dessen Design flexibel und
|
|
|
- mächtig durch die Vielzahl an Möglcihkeiten von Operationen und Operanden.
|
|
|
+ Obwohl die API von <classname>Zend_Date</classname> simpel und eindeutig ist, ist dessen
|
|
|
+ Design flexibel und mächtig durch die Vielzahl an Möglcihkeiten von Operationen und
|
|
|
+ Operanden.
|
|
|
</para>
|
|
|
|
|
|
<sect2 id="zend.date.options">
|
|
|
@@ -19,14 +20,17 @@
|
|
|
<title>Auswahl der Art des Datumsformats</title>
|
|
|
|
|
|
<para>
|
|
|
- Viele Methoden benutzen Zeichenketten für Datumsformate so ähnlich wie PHP's <code>date()</code>.
|
|
|
- Wenn man mit den Zeichen von PHP's Datumsformaten mehr Erfahrung hat als mit den ISO
|
|
|
- Zeichen für Formate dann kann man <classname>Zend_Date::setOptions(array('format_type' => 'php'))</classname>
|
|
|
- benutzen. Danach können PHP's Zeichen für Datumsformate für alle Funktionen verwendet werden die
|
|
|
- einen <code>$format</code> Parameter akzeptieren. Durch Benutzen von
|
|
|
- <classname>Zend_Date::setOptions(array('format_type' => 'iso'))</classname> kann man wieder auf den
|
|
|
- Standardmodus zurückwechseln der nur ISO Zeichen für Datumsformate unterstützt. Für eine Liste von
|
|
|
- unterstützten Zeichen Codes kann hier nachgelesen werden: <xref linkend="zend.date.constants.phpformats" />
|
|
|
+ Viele Methoden benutzen Zeichenketten für Datumsformate so ähnlich wie PHP's
|
|
|
+ <code>date()</code>. Wenn man mit den Zeichen von PHP's Datumsformaten mehr
|
|
|
+ Erfahrung hat als mit den ISO Zeichen für Formate dann kann man
|
|
|
+ <classname>Zend_Date::setOptions(array('format_type' => 'php'))</classname>
|
|
|
+ benutzen. Danach können PHP's Zeichen für Datumsformate für alle Funktionen
|
|
|
+ verwendet werden die einen <code>$format</code> Parameter akzeptieren. Durch
|
|
|
+ Benutzen von
|
|
|
+ <classname>Zend_Date::setOptions(array('format_type' => 'iso'))</classname> kann man
|
|
|
+ wieder auf den Standardmodus zurückwechseln der nur ISO Zeichen für Datumsformate
|
|
|
+ unterstützt. Für eine Liste von unterstützten Zeichen Codes kann hier nachgelesen
|
|
|
+ werden: <xref linkend="zend.date.constants.phpformats" />
|
|
|
</para>
|
|
|
|
|
|
</sect3>
|
|
|
@@ -36,34 +40,39 @@
|
|
|
<title>Sommer-/Winterzeit und Datumsberechnungen</title>
|
|
|
|
|
|
<para>
|
|
|
- Wenn Daten manipuliert werden überschrieten Sie manchmal die Sommer-/Winterzeit Grenze was
|
|
|
- normalerweise dazu führt das das Datum eine Stunde verliert oder hinzubekommt. Wenn zum Beispiel
|
|
|
- ein Monat zu einem Datum vor einer Sommer-/Winterzeitänderung hinzugefügt wird und das
|
|
|
- Ergebnismonat nach dieser Änderung liegt, sieht es so aus als ob das Datum eine Stunde verliert
|
|
|
- oder hinzubekommt durch den Wert des geänderten Datums. Für Grenzstunden, wie Mitternacht für
|
|
|
- den ersten oder letzten Tag eines Monats, führt das Hinzufügen von genügend Monaten, wenn die
|
|
|
- Sommer-/Winterzeitgrenze überschritten wird, dazu das das Datum eine Stunde verliert und damit
|
|
|
- zum letzten Tag des Vormonats wird durch das Erscheinungsbild des "eins fehlt" Fehlers. Um diese
|
|
|
- Situationen zu vermeiden, kann die Sommer-/Winterzeit durch Verwendung der
|
|
|
- <code>fix_dst</code> Option ignoriert werden. Wenn eine Sommer-/Winterzeitgrenze überschritten wird,
|
|
|
- wird ja normalerweise eine Stunde hinzugefügt oder entfernt abhändig vom Datum. Zum Beispiel führt
|
|
|
- eine Datumsberechnung einer Frühlingsgrenze z ueinem Datum welche einen Tag weniger hat als
|
|
|
- erwartet, wenn die Zeit des Originaldatums 00:00:00 war. Da Zend_Date auf Zeitpunkten basiert
|
|
|
- und nicht auf Kalenderdaten mit Zeitkomponenten, verliert der Zeitpunkt eine Stunde was zu einem
|
|
|
- Datum führt das einen Kalendertag weniger hat als erwartet. Um solche Problem zu verhindern kann
|
|
|
- die Option <code>fix_dst</code> verwendet werden, welche standardmäßig wahr ist. Das führt
|
|
|
- dazu das die Sommer-/Winterzeit keinen Einfluß mehr bei Datumsberechnungen zeigt
|
|
|
- (<code>addMOnth(), subMonth()</code>). <classname>Zend_Date::setOptions(array('fix_dst' => false))</classname>
|
|
|
- kann benutzt werden um Hinzufügen oder Entfernen der Sommer-/Winterzeitanpassung zu gestatten wenn
|
|
|
- Datumsberechnungen durchgeführt werden.
|
|
|
+ Wenn Daten manipuliert werden überschrieten Sie manchmal die Sommer-/Winterzeit
|
|
|
+ Grenze was normalerweise dazu führt das das Datum eine Stunde verliert oder
|
|
|
+ hinzubekommt. Wenn zum Beispiel ein Monat zu einem Datum vor einer
|
|
|
+ Sommer-/Winterzeitänderung hinzugefügt wird und das Ergebnismonat nach dieser
|
|
|
+ Änderung liegt, sieht es so aus als ob das Datum eine Stunde verliert oder
|
|
|
+ hinzubekommt durch den Wert des geänderten Datums. Für Grenzstunden, wie Mitternacht
|
|
|
+ für den ersten oder letzten Tag eines Monats, führt das Hinzufügen von genügend
|
|
|
+ Monaten, wenn die Sommer-/Winterzeitgrenze überschritten wird, dazu das das Datum
|
|
|
+ eine Stunde verliert und damit zum letzten Tag des Vormonats wird durch das
|
|
|
+ Erscheinungsbild des "eins fehlt" Fehlers. Um diese Situationen zu vermeiden, kann
|
|
|
+ die Sommer-/Winterzeit durch Verwendung der <code>fix_dst</code> Option ignoriert
|
|
|
+ werden. Wenn eine Sommer-/Winterzeitgrenze überschritten wird, wird ja normalerweise
|
|
|
+ eine Stunde hinzugefügt oder entfernt abhändig vom Datum. Zum Beispiel führt eine
|
|
|
+ Datumsberechnung einer Frühlingsgrenze z ueinem Datum welche einen Tag weniger hat
|
|
|
+ als erwartet, wenn die Zeit des Originaldatums 00:00:00 war. Da Zend_Date auf
|
|
|
+ Zeitpunkten basiert und nicht auf Kalenderdaten mit Zeitkomponenten, verliert der
|
|
|
+ Zeitpunkt eine Stunde was zu einem Datum führt das einen Kalendertag weniger hat als
|
|
|
+ erwartet. Um solche Problem zu verhindern kann die Option <code>fix_dst</code>
|
|
|
+ verwendet werden, welche standardmäßig wahr ist. Das führt dazu das die
|
|
|
+ Sommer-/Winterzeit keinen Einfluß mehr bei Datumsberechnungen zeigt
|
|
|
+ (<code>addMOnth(), subMonth()</code>).
|
|
|
+ <classname>Zend_Date::setOptions(array('fix_dst' => false))</classname> kann benutzt
|
|
|
+ werden um Hinzufügen oder Entfernen der Sommer-/Winterzeitanpassung zu gestatten
|
|
|
+ wenn Datumsberechnungen durchgeführt werden.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
<emphasis>Wenn die aktuelle Zeitzone innerhalb der Instanz von
|
|
|
- <classname>Zend_Date</classname> auf UTC oder GMT gestellt wird, wird die Option <code>'fix_dst'</code>
|
|
|
- nicht verwendet</emphasis> weil diese zwei Zeitzonen nicht mit DST arbeiten. Wenn die Zeitzone
|
|
|
- für diese Instanz wieder auf eine Zeitzone gestellt wird die nicht UTC oder GMT ist, wird die
|
|
|
- vorher definierte 'fix_dst' Option wieder für die Datumsberechnungen verwendet.
|
|
|
+ <classname>Zend_Date</classname> auf UTC oder GMT gestellt wird, wird die Option
|
|
|
+ <code>'fix_dst'</code> nicht verwendet</emphasis> weil diese zwei Zeitzonen nicht
|
|
|
+ mit DST arbeiten. Wenn die Zeitzone für diese Instanz wieder auf eine Zeitzone
|
|
|
+ gestellt wird die nicht UTC oder GMT ist, wird die vorher definierte 'fix_dst'
|
|
|
+ Option wieder für die Datumsberechnungen verwendet.
|
|
|
</para>
|
|
|
</sect3>
|
|
|
|
|
|
@@ -73,36 +82,45 @@
|
|
|
|
|
|
<para>
|
|
|
Wenn Monate von einem existierenden Datum hinzugefügt oder entfernt werden, kann der
|
|
|
- Ergebniswert des Monatstages unerwartet sein, wenn das Originaldatum auf einen Tag gefallen ist
|
|
|
- der Nahe am Ende des Monats ist. Wenn zum Beispiel ein Monat zum 31sten Jänner hinzugefügt wird,
|
|
|
- werden Personen welche mit SQL vertraut sind den 28sten Februar als Ergebnis erwarten. Auf der
|
|
|
- anderen Seite werden Personen welche mit Excel und OpenOffice vertraut sind werden den
|
|
|
- 3tten März als Ergebnis erwarten. Das Problem besteht nur wen das Ergebnismonat den Tag der
|
|
|
- im Originaldatum gesetzt war, nicht hat. Für ZF Entwickler können das gewünschte Verhalten
|
|
|
- ausgewählen indem die Option <code>extend_month</code> genutzt wird um entweder das SQL
|
|
|
- Verhalten, wenn die Option wahr ist, oder das Tabellenverhalten, wenn die Option falsch ist,
|
|
|
- auszuwählen. Das Standardverhalten für <code>extend_month</code> ist falsch, um SQL kompatibles
|
|
|
- Verhalten zu erlauben. <classname>Zend_Date</classname> führt Monatsberechnungen standardmäßig in der Art
|
|
|
- durch das Daten auf das Monatsende hin abgeschnitten werden (wenn notwendig), ohne das in den
|
|
|
- nächsten Monat umgebrochen wird wenn das Originaldatum einen Monatstag bestimmt der die
|
|
|
- Anzahl der Tag des Ergebnismonats überschreitet.
|
|
|
- <classname>Zend_Date::setOptions(array('extend_month' => true));</classname> kann benutzt werden um
|
|
|
- Monatsberechnungen wie in populären Tabellenkalkulationen durchzuführen.
|
|
|
+ Ergebniswert des Monatstages unerwartet sein, wenn das Originaldatum auf einen Tag
|
|
|
+ gefallen ist der Nahe am Ende des Monats ist. Wenn zum Beispiel ein Monat zum 31sten
|
|
|
+ Jänner hinzugefügt wird, werden Personen welche mit SQL vertraut sind den 28sten
|
|
|
+ Februar als Ergebnis erwarten. Auf der anderen Seite werden Personen welche mit
|
|
|
+ Excel und OpenOffice vertraut sind werden den 3tten März als Ergebnis erwarten. Das
|
|
|
+ Problem besteht nur wen das Ergebnismonat den Tag der im Originaldatum gesetzt war,
|
|
|
+ nicht hat. Für ZF Entwickler können das gewünschte Verhalten ausgewählen indem die
|
|
|
+ Option <code>extend_month</code> genutzt wird um entweder das SQL Verhalten, wenn
|
|
|
+ die Option wahr ist, oder das Tabellenverhalten, wenn die Option falsch ist,
|
|
|
+ auszuwählen. Das Standardverhalten für <code>extend_month</code> ist falsch, um SQL
|
|
|
+ kompatibles Verhalten zu erlauben. <classname>Zend_Date</classname> führt
|
|
|
+ Monatsberechnungen standardmäßig in der Art durch das Daten auf das Monatsende hin
|
|
|
+ abgeschnitten werden (wenn notwendig), ohne das in den nächsten Monat umgebrochen
|
|
|
+ wird wenn das Originaldatum einen Monatstag bestimmt der die Anzahl der Tag des
|
|
|
+ Ergebnismonats überschreitet.
|
|
|
+ <classname>Zend_Date::setOptions(array('extend_month' => true));</classname> kann
|
|
|
+ benutzt werden um Monatsberechnungen wie in populären Tabellenkalkulationen
|
|
|
+ durchzuführen.
|
|
|
</para>
|
|
|
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="zend.date.options.cache">
|
|
|
|
|
|
- <title>Lokalisierung und Normalisierung von Daten mit Zend_Cache schneller machen</title>
|
|
|
+ <title>
|
|
|
+ Lokalisierung und Normalisierung von Daten mit Zend_Cache schneller machen
|
|
|
+ </title>
|
|
|
|
|
|
<para>
|
|
|
- Man kann <classname>Zend_Date</classname> schneller machen indem ein <classname>Zend_Cache</classname> Adapter
|
|
|
- verwendet wird. Das verschnellert alle Methoden von <classname>Zend_Date</classname> wenn lokalisierte
|
|
|
- Daten verwendet werden. Zum Beispiel werden alle Methoden welche <classname>Zend_Date::DATE</classname>
|
|
|
- und <classname>Zend_Date::TIME</classname> Konstanten akzeptieren hiervon profitieren. Um einen
|
|
|
- <classname>Zend_Cache</classname> Adapter für <classname>Zend_Date</classname> zu setzen muß nur
|
|
|
- <classname>Zend_Date::setOptions(array('cache' => $adapter));</classname> aufgerufen werden.
|
|
|
+ Man kann <classname>Zend_Date</classname> schneller machen indem ein
|
|
|
+ <classname>Zend_Cache</classname> Adapter verwendet wird. Das verschnellert alle
|
|
|
+ Methoden von <classname>Zend_Date</classname> wenn lokalisierte Daten verwendet
|
|
|
+ werden. Zum Beispiel werden alle Methoden welche
|
|
|
+ <classname>Zend_Date::DATE</classname> und <classname>Zend_Date::TIME</classname>
|
|
|
+ Konstanten akzeptieren hiervon profitieren. Um einen
|
|
|
+ <classname>Zend_Cache</classname> Adapter für <classname>Zend_Date</classname> zu
|
|
|
+ setzen muß nur
|
|
|
+ <classname>Zend_Date::setOptions(array('cache' => $adapter));</classname> aufgerufen
|
|
|
+ werden.
|
|
|
</para>
|
|
|
|
|
|
</sect3>
|
|
|
@@ -113,12 +131,13 @@
|
|
|
|
|
|
<para>
|
|
|
Normalerweise unterscheiden sich die Uhren von Servern und Computern voneinander.
|
|
|
- <classname>Zend_Date</classname> ist dazu fähig solche Probleme mit Hilfe von <classname>Zend_TimeSync</classname>
|
|
|
- zu handhaben. Mit <classname>Zend_Date::setOptions(array('timesync' => $timeserver));</classname>
|
|
|
- kann ein Zeitserver gesetzt werden welcher den Unterschied zwischen dem eigenen aktuellen
|
|
|
- Zeitpunkt und dem wirklichen aktuellen Zeitpunkt für alle Instanzen von Zend_Date setzt.
|
|
|
- Die Verwendung dieser Option ändern nicht den Zeitpunkt von bestehenden Instanzen. Am besten
|
|
|
- ist es also dies innerhalb der Bootstrap Datei zu setzen.
|
|
|
+ <classname>Zend_Date</classname> ist dazu fähig solche Probleme mit Hilfe von
|
|
|
+ <classname>Zend_TimeSync</classname> zu handhaben. Mit
|
|
|
+ <classname>Zend_Date::setOptions(array('timesync' => $timeserver));</classname> kann
|
|
|
+ ein Zeitserver gesetzt werden welcher den Unterschied zwischen dem eigenen aktuellen
|
|
|
+ Zeitpunkt und dem wirklichen aktuellen Zeitpunkt für alle Instanzen von Zend_Date
|
|
|
+ setzt. Die Verwendung dieser Option ändern nicht den Zeitpunkt von bestehenden
|
|
|
+ Instanzen. Am besten ist es also dies innerhalb der Bootstrap Datei zu setzen.
|
|
|
</para>
|
|
|
|
|
|
</sect3>
|
|
|
@@ -130,37 +149,42 @@
|
|
|
<title>Arbeiten mit Datumswerten</title>
|
|
|
|
|
|
<para>
|
|
|
- Sobald die Eingabe durch die Erstellung eines <classname>Zend_Date</classname> Objektes normalisiert wurde,
|
|
|
- hat es eine zugeordnete Zeitzone aber eine Interne Darstellung durch Verwendung von
|
|
|
- <ulink url="http://en.wikipedia.org/wiki/Unix_Time">UNIX Zeitpunkten</ulink>.
|
|
|
- Damit ein Datum in einer lokalisierten Art und Weise durchsucht werden kann, muß zuerst eine
|
|
|
- Zeitzone bekannt sein. Die Standardzeitzone ist immer GMT/UTC. Um die Zeitzone des Objektes zu
|
|
|
- inspizieren kann <code>getTimeZone())</code> verwendet werden. Um die Zeitzone des Objektes zu
|
|
|
- wechseln kann <code>setTimeZone())</code> verwendet werden. Alle Änderungen des Objektes sind immer
|
|
|
- relativ zu seiner Zeitzone zu sehen.
|
|
|
+ Sobald die Eingabe durch die Erstellung eines <classname>Zend_Date</classname> Objektes
|
|
|
+ normalisiert wurde, hat es eine zugeordnete Zeitzone aber eine Interne Darstellung durch
|
|
|
+ Verwendung von <ulink
|
|
|
+ url="http://en.wikipedia.org/wiki/Unix_Time">UNIX Zeitpunkten</ulink>. Damit ein
|
|
|
+ Datum in einer lokalisierten Art und Weise durchsucht werden kann, muß zuerst eine
|
|
|
+ Zeitzone bekannt sein. Die Standardzeitzone ist immer GMT/UTC. Um die Zeitzone des
|
|
|
+ Objektes zu inspizieren kann <code>getTimeZone())</code> verwendet werden. Um die
|
|
|
+ Zeitzone des Objektes zu wechseln kann <code>setTimeZone())</code> verwendet werden.
|
|
|
+ Alle Änderungen des Objektes sind immer relativ zu seiner Zeitzone zu sehen.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Aufpassen das nicht Teile von Datumsobjekten die unterschiedliche Zeitzonen haben, gemischt oder
|
|
|
- verglichen werden, da dies Grundsätzlich unerwartete Resultate zeigen kann da die Manipulationen
|
|
|
- nur dem Zeitpunkt zugeordnet werden. Das Arbeiten an <classname>Zend_Date</classname> Objekten die unterschiedliche
|
|
|
- Zeitzonen haben funktioniert grundsätzlich abgesehen davon wie vorher erwähnt, da Daten bei der
|
|
|
- Instantiierung von <classname>Zend_Date</classname> zu UNIX Zeitpunkten normalisiert werden.
|
|
|
+ Aufpassen das nicht Teile von Datumsobjekten die unterschiedliche Zeitzonen haben,
|
|
|
+ gemischt oder verglichen werden, da dies Grundsätzlich unerwartete Resultate zeigen kann
|
|
|
+ da die Manipulationen nur dem Zeitpunkt zugeordnet werden. Das Arbeiten an
|
|
|
+ <classname>Zend_Date</classname> Objekten die unterschiedliche Zeitzonen haben
|
|
|
+ funktioniert grundsätzlich abgesehen davon wie vorher erwähnt, da Daten bei der
|
|
|
+ Instantiierung von <classname>Zend_Date</classname> zu UNIX Zeitpunkten normalisiert
|
|
|
+ werden.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Die meisten Methoden erwarten eine Konstante für die Auswahl des gewünschten Teils <code>$part</code>
|
|
|
- des Datums, wie z.B. <classname>Zend_Date::HOUR</classname>. Diese Konstanten sind für alle unten angeführten
|
|
|
- Funktionen gültig. Eine Liste aller vorhandenen Konstanten wird hier beschrieben:
|
|
|
- <xref linkend="zend.date.constants.list" />.
|
|
|
- Wenn <code>$part</code> nicht spezifiziert wird, wird <classname>Zend_Date::TIMESTAMP</classname> angenommen.
|
|
|
- Alternativ kann ein benutzerdefiniertes Format für <code>$part</code> verwendet werden, mit Hilfe
|
|
|
- der gleichen Mechanismen und Formatdefinitionen wie bei
|
|
|
- <link linkend="zend.locale.date.normalize"><classname>Zend_Locale_Format::getDate()</classname>
|
|
|
- </link>. Wenn ein Datumsobjekt erstellt wird durch Verwendung eines offensichtlich falschen Datums
|
|
|
- (z.B. die Nummer des Monats größer als 12), wird <classname>Zend_Date</classname> eine Ausnahme werfen, solange
|
|
|
- kein spezielles Datumsformat ausgewählt wurde, und z.B. <code>$part</code> entweder <code>null</code>
|
|
|
- oder <classname>Zend_Date::DATES</classname> (ein "fehlertolerantes" Format).
|
|
|
+ Die meisten Methoden erwarten eine Konstante für die Auswahl des gewünschten Teils
|
|
|
+ <code>$part</code> des Datums, wie z.B. <classname>Zend_Date::HOUR</classname>. Diese
|
|
|
+ Konstanten sind für alle unten angeführten Funktionen gültig. Eine Liste aller
|
|
|
+ vorhandenen Konstanten wird hier beschrieben: <xref
|
|
|
+ linkend="zend.date.constants.list" />. Wenn <code>$part</code> nicht spezifiziert
|
|
|
+ wird, wird <classname>Zend_Date::TIMESTAMP</classname> angenommen. Alternativ kann ein
|
|
|
+ benutzerdefiniertes Format für <code>$part</code> verwendet werden, mit Hilfe der
|
|
|
+ gleichen Mechanismen und Formatdefinitionen wie bei <link
|
|
|
+ linkend="zend.locale.date.normalize"><classname>Zend_Locale_Format::getDate()</classname></link>.
|
|
|
+ Wenn ein Datumsobjekt erstellt wird durch Verwendung eines offensichtlich falschen
|
|
|
+ Datums (z.B. die Nummer des Monats größer als 12), wird <classname>Zend_Date</classname>
|
|
|
+ eine Ausnahme werfen, solange kein spezielles Datumsformat ausgewählt wurde, und z.B.
|
|
|
+ <code>$part</code> entweder <code>null</code> oder
|
|
|
+ <classname>Zend_Date::DATES</classname> (ein "fehlertolerantes" Format).
|
|
|
</para>
|
|
|
|
|
|
<example id="zend.date.values.example-1">
|
|
|
@@ -179,30 +203,34 @@ echo $date3, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Wenn der optionale <code>$locale</code> Parameter angegeben wurde, dann verdeutlicht <code>$locale</code>
|
|
|
- den <code>$date</code> Operand durch Ersetzen der Monatsnamen und Wochentagsnamen für die <code>$date</code>
|
|
|
- Zeichenkette, und auch Datumszeichenketten können analysiert werden durch die Vorschriften dieses
|
|
|
- Gebietsschemas (siehe
|
|
|
- <code><link linkend="zend.locale.date.normalize">Zend_Locale_Format::getDate()</link></code>).
|
|
|
- Die automatische Normalisierung von lokalisierten <code>$date</code> Angaben einer Zeichenkette werden
|
|
|
- nur dann durchgeführt wenn eine der <classname>Zend_Date::DATE*</classname> oder <classname>Zend_Date::TIME*</classname>
|
|
|
- Konstanten verwendet wird. Das Gebietsschema identifiziert die Sprache welche verwendet werden soll
|
|
|
- um Monatsnamen und Wochentagsnamen zu analysieren wenn <code>$date</code> eine Zeichenkette ist die
|
|
|
- ein Datum enthält. Wenn der Eingabeparameter <code>$date</code> nicht angegeben wurde, dann definiert
|
|
|
- der <code>$locale</code> Parameter das Gebietsschema für lokalisierte Ausgaben (z.B. das Datumsformat
|
|
|
- für eine Ausgabe als Zeichenkette). Anzumerken ist auch das der <code>$date</code> Parameter stattdessen
|
|
|
- ein Typname sein kann (z.B. <code>$hour</code> für <code>addHour()</code>), und das verhindert auch nicht
|
|
|
- das ein <classname>Zend_Date</classname> Objekt als Argument für diesen Parameter angegeben werden kann. Wenn keine
|
|
|
- <code>$locale</code> angegeben wurde, wird das Gebietsschema des aktuellen Objektes genommen um
|
|
|
- <code>$date</code> zu interpretieren oder das lokalisierte Format für die Ausgabe auszuwählen.
|
|
|
+ Wenn der optionale <code>$locale</code> Parameter angegeben wurde, dann verdeutlicht
|
|
|
+ <code>$locale</code> den <code>$date</code> Operand durch Ersetzen der Monatsnamen und
|
|
|
+ Wochentagsnamen für die <code>$date</code> Zeichenkette, und auch Datumszeichenketten
|
|
|
+ können analysiert werden durch die Vorschriften dieses Gebietsschemas (siehe <code><link
|
|
|
+ linkend="zend.locale.date.normalize">Zend_Locale_Format::getDate()</link></code>).
|
|
|
+ Die automatische Normalisierung von lokalisierten <code>$date</code> Angaben einer
|
|
|
+ Zeichenkette werden nur dann durchgeführt wenn eine der
|
|
|
+ <classname>Zend_Date::DATE*</classname> oder <classname>Zend_Date::TIME*</classname>
|
|
|
+ Konstanten verwendet wird. Das Gebietsschema identifiziert die Sprache welche verwendet
|
|
|
+ werden soll um Monatsnamen und Wochentagsnamen zu analysieren wenn <code>$date</code>
|
|
|
+ eine Zeichenkette ist die ein Datum enthält. Wenn der Eingabeparameter
|
|
|
+ <code>$date</code> nicht angegeben wurde, dann definiert der <code>$locale</code>
|
|
|
+ Parameter das Gebietsschema für lokalisierte Ausgaben (z.B. das Datumsformat für eine
|
|
|
+ Ausgabe als Zeichenkette). Anzumerken ist auch das der <code>$date</code> Parameter
|
|
|
+ stattdessen ein Typname sein kann (z.B. <code>$hour</code> für <code>addHour()</code>),
|
|
|
+ und das verhindert auch nicht das ein <classname>Zend_Date</classname> Objekt als
|
|
|
+ Argument für diesen Parameter angegeben werden kann. Wenn keine <code>$locale</code>
|
|
|
+ angegeben wurde, wird das Gebietsschema des aktuellen Objektes genommen um
|
|
|
+ <code>$date</code> zu interpretieren oder das lokalisierte Format für die Ausgabe
|
|
|
+ auszuwählen.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Seit Zend Framework 1.7.0 unterstützt <classname>Zend_Date</classname> auch die Verwendung eines
|
|
|
- Anwendungsweiten Gebietsschemas. Man kann ganz einfach eine <classname>Zend_Locale</classname> Instanz
|
|
|
- in der Registry setzen wie anbei gezeigt. Mit dieser Schreibweise kann man das manuelle Setzen eines
|
|
|
- Gebietsschemas für jede Instanz vergessen wenn man das selbe Gebietsschema mehrere Male verwenden
|
|
|
- will.
|
|
|
+ Seit Zend Framework 1.7.0 unterstützt <classname>Zend_Date</classname> auch die
|
|
|
+ Verwendung eines Anwendungsweiten Gebietsschemas. Man kann ganz einfach eine
|
|
|
+ <classname>Zend_Locale</classname> Instanz in der Registry setzen wie anbei gezeigt. Mit
|
|
|
+ dieser Schreibweise kann man das manuelle Setzen eines Gebietsschemas für jede Instanz
|
|
|
+ vergessen wenn man das selbe Gebietsschema mehrere Male verwenden will.
|
|
|
</para>
|
|
|
|
|
|
<programlisting role="php"><![CDATA[
|
|
|
@@ -221,15 +249,17 @@ $date = new Zend_Date('31.Feb.2007');
|
|
|
<title>Grundsätzliche Zend_Date Operationen für die meisten Teile von Daten</title>
|
|
|
|
|
|
<para>
|
|
|
- Die Methoden <code>add(), sub(), compare(), get(), und set()</code> arbeiten generell mit Daten. In
|
|
|
- Jedem Fall wird die Operation auf dem Datum durchgeführt das in den Objektinstanz vorhanden ist. Der
|
|
|
- <code>$date</code> Operand wird für alle dieser Methoden benötigt, ausser für <code>get()</code> und
|
|
|
- kann eine <classname>Zend_Date</classname> Objektinstanz, eine nummerische Zeichenkette oder ein Integer sein.
|
|
|
- Diese Methoden nehmen an das <code>$date</code> ein Zeitpunkt ist, wenn es kein Objekt ist. Trotzdem
|
|
|
- kontrolliert der <code>$part</code> Operand an welchem logischen Teil der zwei Daten gearbeitet werden
|
|
|
- soll, was Arbeiten an Teilen von Daten des Objekts erlaubt, wie Jahr oder Minute selbst wenn
|
|
|
- <code>$date</code> eine lange Form einer Datumszeichenkette enthält wie "Dezember 31, 2007 23:59:59".
|
|
|
- Das Ergebnis der Operation ändert das Datum im Objekt ausser bei <code>compare()</code> und
|
|
|
+ Die Methoden <code>add(), sub(), compare(), get(), und set()</code> arbeiten generell
|
|
|
+ mit Daten. In Jedem Fall wird die Operation auf dem Datum durchgeführt das in den
|
|
|
+ Objektinstanz vorhanden ist. Der <code>$date</code> Operand wird für alle dieser
|
|
|
+ Methoden benötigt, ausser für <code>get()</code> und kann eine
|
|
|
+ <classname>Zend_Date</classname> Objektinstanz, eine nummerische Zeichenkette oder ein
|
|
|
+ Integer sein. Diese Methoden nehmen an das <code>$date</code> ein Zeitpunkt ist, wenn es
|
|
|
+ kein Objekt ist. Trotzdem kontrolliert der <code>$part</code> Operand an welchem
|
|
|
+ logischen Teil der zwei Daten gearbeitet werden soll, was Arbeiten an Teilen von Daten
|
|
|
+ des Objekts erlaubt, wie Jahr oder Minute selbst wenn <code>$date</code> eine lange form
|
|
|
+ einer Datumszeichenkette enthält wie "Dezember 31, 2007 23:59:59". Das Ergebnis der
|
|
|
+ Operation ändert das Datum im Objekt ausser bei <code>compare()</code> und
|
|
|
<code>get()</code>.
|
|
|
</para>
|
|
|
|
|
|
@@ -245,23 +275,25 @@ print $date;
|
|
|
</example>
|
|
|
|
|
|
<para>
|
|
|
- Übliche Methoden existieren für jede Kombination von Basisarbeiten und viele normale Datumsabschnitte
|
|
|
- wie in der Tabelle anbei gezeigt. Diese üblichen Methoden erlauben uns faulen Programmierern zu vermeiden
|
|
|
- das die
|
|
|
- <link linkend="zend.date.constants.list">Konstanten für Datumsabschnitte</link> ausgeschrieben werden
|
|
|
- müssen. Normalerweise sind wir benannt durch Kombination eines Prefixes (Name der Basisoperation) und
|
|
|
- einem Suffix (Art des Datumsabschnittes), wie <code>addYear()</code>. In der Liste die anbei steht,
|
|
|
- existieren alle Kombinationen von "Datumsabschnitten" und "Basisoperationen". Zum Beispiel die Operation
|
|
|
- "add" existiert für jeden dieser Datumsabschnitte wie <code>addDay()</code>, <code>addYear()</code>
|
|
|
+ Übliche Methoden existieren für jede Kombination von Basisarbeiten und viele normale
|
|
|
+ Datumsabschnitte wie in der Tabelle anbei gezeigt. Diese üblichen Methoden erlauben uns
|
|
|
+ faulen Programmierern zu vermeiden das die <link
|
|
|
+ linkend="zend.date.constants.list">Konstanten für Datumsabschnitte</link>
|
|
|
+ ausgeschrieben werden müssen. Normalerweise sind wir benannt durch Kombination eines
|
|
|
+ Prefixes (Name der Basisoperation) und einem Suffix (Art des Datumsabschnittes), wie
|
|
|
+ <code>addYear()</code>. In der Liste die anbei steht, existieren alle Kombinationen von
|
|
|
+ "Datumsabschnitten" und "Basisoperationen". Zum Beispiel die Operation "add" existiert
|
|
|
+ für jeden dieser Datumsabschnitte wie <code>addDay()</code>, <code>addYear()</code>
|
|
|
und viele mehr.
|
|
|
</para>
|
|
|
|
|
|
<para>
|
|
|
- Diese üblichen Methoden haben die selbe gleichartige Funktionalität wie die Methoden für die
|
|
|
- Basisoperationen, aber Sie erwarten Zeichenkette und Integer <code>$date</code> Operanden welche
|
|
|
- nur die Werte enthalten welche durch den Typ definiert sind der durch den Suffix der Methode definiert
|
|
|
- wurde. Deshalb identifizieren diese Methoden (z.B. "Year" oder "Minute") die Einheit des
|
|
|
- <code>$date</code> Operanden wenn <code>$date</code> eine Zeichenkette oder ein Integer ist
|
|
|
+ Diese üblichen Methoden haben die selbe gleichartige Funktionalität wie die Methoden für
|
|
|
+ die Basisoperationen, aber Sie erwarten Zeichenkette und Integer <code>$date</code>
|
|
|
+ Operanden welche nur die Werte enthalten welche durch den Typ definiert sind der durch
|
|
|
+ den Suffix der Methode definiert wurde. Deshalb identifizieren diese Methoden (z.B.
|
|
|
+ "Year" oder "Minute") die Einheit des <code>$date</code> Operanden wenn
|
|
|
+ <code>$date</code> eine Zeichenkette oder ein Integer ist
|
|
|
</para>
|
|
|
|
|
|
<sect3 id="id.date.basic.parts">
|
|
|
@@ -297,15 +329,19 @@ print $date;
|
|
|
<entry>
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Month#Julian_and_Gregorian_calendars">Monat</ulink>
|
|
|
</entry>
|
|
|
- <entry>Gregorianisches Kalendermonat (1-12, Lokalisierte Namen werden unterstützt)</entry>
|
|
|
+ <entry>
|
|
|
+ Gregorianisches Kalendermonat (1-12, Lokalisierte Namen werden
|
|
|
+ unterstützt)
|
|
|
+ </entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>
|
|
|
- <ulink url="http://en.wikipedia.org/wiki/24-hour_clock">24 Stunden Uhr</ulink>
|
|
|
+ <ulink url="http://en.wikipedia.org/wiki/24-hour_clock">24 Stunden
|
|
|
+ Uhr</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- Stunde des Tages (0-23) bezeichnet die vergangenen Stunden seit dem Beginn
|
|
|
- des Tages
|
|
|
+ Stunde des Tages (0-23) bezeichnet die vergangenen Stunden seit dem
|
|
|
+ Beginn des Tages
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -313,8 +349,8 @@ print $date;
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Minute">Minute</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- Minuten der Stunde (0-59) bezeichnet die vergangenen Minuten seit dem Beginn
|
|
|
- der Stunde
|
|
|
+ Minuten der Stunde (0-59) bezeichnet die vergangenen Minuten seit
|
|
|
+ dem Beginn der Stunde
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -322,8 +358,8 @@ print $date;
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Second">Sekunde</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- Sekunde der Minute (0-59) bezeichnet die vergangenen Sekunden seit dem Beginn
|
|
|
- der Minute
|
|
|
+ Sekunde der Minute (0-59) bezeichnet die vergangenen Sekunden seit
|
|
|
+ dem Beginn der Minute
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -331,15 +367,18 @@ print $date;
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Millisecond">Millisekunde</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- Millisekunden bezeichnen Tausendstel einer Sekunde (0-999). <classname>Zend_Date</classname>
|
|
|
- unterstützt zwei zusätzliche Methoden für das Arbeiten mit Zeiteinheiten die kleiner
|
|
|
- als Sekunden sind. Normalerweise verwenden <classname>Zend_Date</classname> Instanzen eine
|
|
|
- Genauigkeit welche der von Millisekunden entspricht wie man durch
|
|
|
- <code>getFractionalPrecision()</code> sehen kann. Um die Genauigkeit zu Ändern kann
|
|
|
- <code>setFractionalPrecision($precision)</code> verwendet werden. Trotzdem ist die
|
|
|
- Genauigkeit praktisch auf Millisekunden begrezt da <classname>Zend_Date</classname>
|
|
|
- <code>
|
|
|
- <ulink url="http://php.net/microtime">microtime()</ulink></code> dafür benutzt.
|
|
|
+ Millisekunden bezeichnen Tausendstel einer Sekunde (0-999).
|
|
|
+ <classname>Zend_Date</classname> unterstützt zwei zusätzliche
|
|
|
+ Methoden für das Arbeiten mit Zeiteinheiten die kleiner als Sekunden
|
|
|
+ sind. Normalerweise verwenden <classname>Zend_Date</classname>
|
|
|
+ Instanzen eine Genauigkeit welche der von Millisekunden entspricht
|
|
|
+ wie man durch <code>getFractionalPrecision()</code> sehen kann. Um
|
|
|
+ die Genauigkeit zu Ändern kann
|
|
|
+ <code>setFractionalPrecision($precision)</code> verwendet werden.
|
|
|
+ Trotzdem ist die Genauigkeit praktisch auf Millisekunden begrezt da
|
|
|
+ <classname>Zend_Date</classname> <code><ulink
|
|
|
+ url="http://php.net/microtime">microtime()</ulink></code> dafür
|
|
|
+ benutzt.
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -347,12 +386,16 @@ print $date;
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Day">Tag</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- <classname>Zend_Date::DAY_SHORT</classname> wird von <code>$date</code> extrahiert wenn der
|
|
|
- <code>$date</code> Operand eine <classname>Zend_Date</classname> Instanz oder eine nummerische
|
|
|
- Zeichenkette ist. Sonst wird versucht den Tag laut den dokumentierten Konventionen
|
|
|
- für diese Konstanten zu extrahieren: <classname>Zend_Date::WEEKDAY_NARROW</classname>
|
|
|
- , <classname>Zend_Date::WEEKDAY_NAME</classname>, <classname>Zend_Date::WEEKDAY_SHORT</classname>
|
|
|
- , <classname>Zend_Date::WEEKDAY</classname> (Gregorianischer Kalender angenommen)
|
|
|
+ <classname>Zend_Date::DAY_SHORT</classname> wird von
|
|
|
+ <code>$date</code> extrahiert wenn der <code>$date</code> Operand
|
|
|
+ eine <classname>Zend_Date</classname> Instanz oder eine nummerische
|
|
|
+ Zeichenkette ist. Sonst wird versucht den Tag laut den
|
|
|
+ dokumentierten Konventionen für diese Konstanten zu extrahieren:
|
|
|
+ <classname>Zend_Date::WEEKDAY_NARROW</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY_NAME</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY_SHORT</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY</classname> (Gregorianischer Kalender
|
|
|
+ angenommen)
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -360,41 +403,49 @@ print $date;
|
|
|
<ulink url="http://en.wikipedia.org/wiki/Week">Woche</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- <classname>Zend_Date::WEEK</classname> wird von <code>$date</code> extrahiert wenn der
|
|
|
- <code>$date</code> Operand eine Instanz von <classname>Zend_Date</classname> oder eine
|
|
|
- nummerische Zeichenkette ist. Sonst wird eine Ausnahme geworfen.
|
|
|
- (Gregorianischer Kalender angenommen)</entry>
|
|
|
+ <classname>Zend_Date::WEEK</classname> wird von <code>$date</code>
|
|
|
+ extrahiert wenn der <code>$date</code> Operand eine Instanz von
|
|
|
+ <classname>Zend_Date</classname> oder eine nummerische Zeichenkette
|
|
|
+ ist. Sonst wird eine Ausnahme geworfen. (Gregorianischer Kalender
|
|
|
+ angenommen)
|
|
|
+ </entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>Datum</entry>
|
|
|
<entry>
|
|
|
- <classname>Zend_Date::DAY_MEDIUM</classname> wird aus <code>$date</code> extrahiert wenn der
|
|
|
- <code>$date</code> Operand eine Instanz von <classname>Zend_Date</classname> ist. Sonst wird
|
|
|
+ <classname>Zend_Date::DAY_MEDIUM</classname> wird aus
|
|
|
+ <code>$date</code> extrahiert wenn der <code>$date</code> Operand
|
|
|
+ eine Instanz von <classname>Zend_Date</classname> ist. Sonst wird
|
|
|
versucht das Datum in ein Zend_Date::DATE_MEDIUM formatiertes Datum
|
|
|
- zu normalisieren. Das Format von <classname>Zend_Date::DATE_MEDIUM</classname> hängt vom
|
|
|
+ zu normalisieren. Das Format von
|
|
|
+ <classname>Zend_Date::DATE_MEDIUM</classname> hängt vom
|
|
|
Gebietsschema des Objektes ab.
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>Wochentage</entry>
|
|
|
<entry>
|
|
|
- Wochentage werden nummerisch dargestellt von 0 (für Sonntag) bis 6 (für Samstag).
|
|
|
- <classname>Zend_Date::WEEKDAY_DIGIT</classname> wird aus <code>$date</code> extrahiert wenn
|
|
|
- der <code>$date</code> Operand eine Instanz von <classname>Zend_Date</classname> oder eine
|
|
|
- numerische Zeichenkette ist. Sonst wird versucht den Tag laut den dokumentierten
|
|
|
- Konventionen für diese Konstanten zu extrahieren:
|
|
|
- <classname>Zend_Date::WEEKDAY_NARROW</classname>, <classname>Zend_Date::WEEKDAY_NAME</classname>,
|
|
|
- <classname>Zend_Date::WEEKDAY_SHORT</classname>, <classname>Zend_Date::WEEKDAY</classname>
|
|
|
- (Gregorianischer Kalender angenommen)
|
|
|
+ Wochentage werden nummerisch dargestellt von 0 (für Sonntag) bis 6
|
|
|
+ (für Samstag). <classname>Zend_Date::WEEKDAY_DIGIT</classname> wird
|
|
|
+ aus <code>$date</code> extrahiert wenn der <code>$date</code>
|
|
|
+ Operand eine Instanz von <classname>Zend_Date</classname> oder eine
|
|
|
+ numerische Zeichenkette ist. Sonst wird versucht den Tag laut den
|
|
|
+ dokumentierten Konventionen für diese Konstanten zu extrahieren:
|
|
|
+ <classname>Zend_Date::WEEKDAY_NARROW</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY_NAME</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY_SHORT</classname>,
|
|
|
+ <classname>Zend_Date::WEEKDAY</classname> (Gregorianischer Kalender
|
|
|
+ angenommen)
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry>Tag des Jahres</entry>
|
|
|
<entry>
|
|
|
- In <classname>Zend_Date</classname> wird der Tag des Jahres als Anzahl der Kalendertage
|
|
|
- dargestellt die seit dem Start des Jahres vergangen sind (0-365). Wie bei den
|
|
|
- anderen oben dargestellten Einheiten werden Bruchteile auf die nächste ganze
|
|
|
- Nummer abgerundet. (Gregorianischer Kalender angenommen)
|
|
|
+ In <classname>Zend_Date</classname> wird der Tag des Jahres als
|
|
|
+ Anzahl der Kalendertage dargestellt die seit dem Start des Jahres
|
|
|
+ vergangen sind (0-365). Wie bei den anderen oben dargestellten
|
|
|
+ Einheiten werden Bruchteile auf die nächste ganze Nummer abgerundet.
|
|
|
+ (Gregorianischer Kalender angenommen)
|
|
|
</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
@@ -402,11 +453,12 @@ print $date;
|
|
|
<ulink url="http://www.faqs.org/rfcs/rfc822.html">Arpa</ulink>
|
|
|
</entry>
|
|
|
<entry>
|
|
|
- Arpa Daten (bzw RFC 822 formatierte Daten) werden unterstützt. Die Ausgabe verwendet
|
|
|
- entweder "GMT" oder "Laut Gebietsschema unterschiedliche Stunden + Minuten" Format
|
|
|
- (siehe Sektion 5 von RFC 822). Vor PHP 5.2.2, zeigte die Verwendung der
|
|
|
- DATE_RFC822 Konstante mit PHP date Funktionen hier und da
|
|
|
- <ulink url="http://bugs.php.net/bug.php?id=40308">fehlerhafte Ergebnisse</ulink>.
|
|
|
+ Arpa Daten (bzw RFC 822 formatierte Daten) werden unterstützt. Die
|
|
|
+ Ausgabe verwendet entweder "GMT" oder "Laut Gebietsschema
|
|
|
+ unterschiedliche Stunden + Minuten" Format (siehe Sektion 5 von RFC
|
|
|
+ 822). Vor PHP 5.2.2, zeigte die Verwendung der DATE_RFC822 Konstante
|
|
|
+ mit PHP date Funktionen hier und da <ulink
|
|
|
+ url="http://bugs.php.net/bug.php?id=40308">fehlerhafte Ergebnisse</ulink>.
|
|
|
Die Ergebnisse von Zend_Date sind korrekt. Beispiel:
|
|
|
<code>Mon, 31 Dec 06 23:59:59 GMT</code>
|
|
|
</entry>
|
|
|
@@ -431,10 +483,10 @@ print $date;
|
|
|
<title>Liste der Datums-Operationen</title>
|
|
|
|
|
|
<para>
|
|
|
- Die unten angeführten Basisoperationen können statt den bequemlichen Operationen für spezielle
|
|
|
- Datumsabschnitte verwendet werden. Die
|
|
|
- <link linkend="zend.date.constants.list">entsprechenden Konstanten</link> werden für den
|
|
|
- <code>$part</code> Parameter verwendet.
|
|
|
+ Die unten angeführten Basisoperationen können statt den bequemlichen Operationen für
|
|
|
+ spezielle Datumsabschnitte verwendet werden. Die <link
|
|
|
+ linkend="zend.date.constants.list">entsprechenden Konstanten</link> werden für
|
|
|
+ den <code>$part</code> Parameter verwendet.
|
|
|
</para>
|
|
|
|
|
|
<table id="id.date.basic.operations.table">
|
|
|
@@ -454,14 +506,16 @@ print $date;
|
|
|
<emphasis>get($part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- <code>get($part)</code> kann benutzt werden um einen Datumsabschnitt
|
|
|
- <code>$part</code> dieses Datumsobjektes welcher in ein
|
|
|
- Gebietsschema lokalisiert oder als formatierte Zeichenkette oder Integer
|
|
|
- gewünscht ist zurück zu bekommen. Durch Verwendung der BCMath Erweiterung können
|
|
|
- nummerische Zeichenkettten statt Integer für große Werte zurückgegeben werden.
|
|
|
- <emphasis>NOTE:</emphasis> Anders als <code>get()</code> geben
|
|
|
- die anderen get*() bequemlichen Methoden nur Instanzen von <classname>Zend_Date</classname>
|
|
|
- zurück welche nur das Datum oder die Zeit repräsentieren das ausgewählt oder berechnet
|
|
|
+ <code>get($part)</code> kann benutzt werden um einen
|
|
|
+ Datumsabschnitt <code>$part</code> dieses Datumsobjektes welcher
|
|
|
+ in ein Gebietsschema lokalisiert oder als formatierte
|
|
|
+ Zeichenkette oder Integer gewünscht ist zurück zu bekommen.
|
|
|
+ Durch Verwendung der BCMath Erweiterung können nummerische
|
|
|
+ Zeichenkettten statt Integer für große Werte zurückgegeben
|
|
|
+ werden. <emphasis>NOTE:</emphasis> Anders als <code>get()</code>
|
|
|
+ geben die anderen get*() bequemlichen Methoden nur Instanzen von
|
|
|
+ <classname>Zend_Date</classname> zurück welche nur das Datum
|
|
|
+ oder die Zeit repräsentieren das ausgewählt oder berechnet
|
|
|
wurde.
|
|
|
</para>
|
|
|
</entry>
|
|
|
@@ -473,9 +527,10 @@ print $date;
|
|
|
<emphasis>set($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Setzt den Abschnitt <code>$part</code> des aktuellen Objektes übereinstimmend mit
|
|
|
- dem Wert der für diesen Abschnitt in der Eingabe <code>$date</code>
|
|
|
- und im Gebietsschema <code>$locale</code> gefunden wurde.
|
|
|
+ Setzt den Abschnitt <code>$part</code> des aktuellen Objektes
|
|
|
+ übereinstimmend mit dem Wert der für diesen Abschnitt in der
|
|
|
+ Eingabe <code>$date</code> und im Gebietsschema
|
|
|
+ <code>$locale</code> gefunden wurde.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -486,9 +541,9 @@ print $date;
|
|
|
<emphasis>add($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Addiert den Abschnitt <code>$part</code> von <code>$date</code> welcher im
|
|
|
- Gebietsschema <code>$locale</code> geschrieben ist zum Datum des
|
|
|
- aktuellen Objektes.
|
|
|
+ Addiert den Abschnitt <code>$part</code> von <code>$date</code>
|
|
|
+ welcher im Gebietsschema <code>$locale</code> geschrieben ist
|
|
|
+ zum Datum des aktuellen Objektes.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -499,9 +554,9 @@ print $date;
|
|
|
<emphasis>sub($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Subtrahiert den Abschnitt <code>$part</code> von <code>$date</code> welcher
|
|
|
- im Gebietsschema <code>$locale</code> geschrieben ist vom Datum des
|
|
|
- aktuellen Objektes.
|
|
|
+ Subtrahiert den Abschnitt <code>$part</code> von
|
|
|
+ <code>$date</code> welcher im Gebietsschema <code>$locale</code>
|
|
|
+ geschrieben ist vom Datum des aktuellen Objektes.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -512,9 +567,10 @@ print $date;
|
|
|
<emphasis>copyPart($part, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt ein geklontes Objekt zurück, wobei nur der gewünschte Abschnitt
|
|
|
- <code>$part</code> des Datumsobjektes kopiert wird, wobei im Klon das
|
|
|
- Gebietsschema von <code>$locale</code> gesetzt wird (wenn angegeben).
|
|
|
+ Gibt ein geklontes Objekt zurück, wobei nur der gewünschte
|
|
|
+ Abschnitt <code>$part</code> des Datumsobjektes kopiert wird,
|
|
|
+ wobei im Klon das Gebietsschema von <code>$locale</code> gesetzt
|
|
|
+ wird (wenn angegeben).
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -522,13 +578,14 @@ print $date;
|
|
|
<entry>compare()</entry>
|
|
|
<entry>
|
|
|
<para>
|
|
|
- <emphasis>compare($date, $part = null, $locale = null)</emphasis>
|
|
|
+ <emphasis>compare($date, $part = null, $locale =
|
|
|
+ null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Vergleicht den Abschnitt <code>$part</code> des Datums <code>$date</code> mit
|
|
|
- dem Zeitpunkt des Objektes. Gibt 0 zurück wenn sie gleich sind, 1 wenn wenn
|
|
|
- der Abschnitt dieses Objektes früher war als der Abschnitt von $date und
|
|
|
- andernfalls -1.
|
|
|
+ Vergleicht den Abschnitt <code>$part</code> des Datums
|
|
|
+ <code>$date</code> mit dem Zeitpunkt des Objektes. Gibt 0 zurück
|
|
|
+ wenn sie gleich sind, 1 wenn wenn der Abschnitt dieses Objektes
|
|
|
+ früher war als der Abschnitt von $date und andernfalls -1.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -566,9 +623,10 @@ print $date;
|
|
|
<emphasis>equals($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt true zurück wenn der Abschnitt <code>$part</code> von <code>$date</code> der
|
|
|
- das Gebietsschema <code>$locale</code> hat, der gleiche ist wie der Abschnitt
|
|
|
- <code>$part</code> vom Datum des Objektes, andernfalls false
|
|
|
+ Gibt true zurück wenn der Abschnitt <code>$part</code> von
|
|
|
+ <code>$date</code> der das Gebietsschema <code>$locale</code> hat,
|
|
|
+ der gleiche ist wie der Abschnitt <code>$part</code> vom Datum des
|
|
|
+ Objektes, andernfalls false
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -579,9 +637,9 @@ print $date;
|
|
|
<emphasis>isEarlier($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt true zurück wenn der Abschnitt <code>$part</code> vom Datum des Objektes
|
|
|
- früher ist als der Abschnitt <code>$part</code> von <code>$date</code> der
|
|
|
- das Gebietsschema <code>$locale</code> hat
|
|
|
+ Gibt true zurück wenn der Abschnitt <code>$part</code> vom Datum des
|
|
|
+ Objektes früher ist als der Abschnitt <code>$part</code> von
|
|
|
+ <code>$date</code> der das Gebietsschema <code>$locale</code> hat
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -592,9 +650,9 @@ print $date;
|
|
|
<emphasis>isLater($date, $part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt true zurück wenn der Abschnitt <code>$part</code> vom Datum des Objektes
|
|
|
- später ist als der Abschnitt <code>$part</code> von <code>$date</code> der
|
|
|
- das Gebietsschema <code>$locale</code> hat
|
|
|
+ Gibt true zurück wenn der Abschnitt <code>$part</code> vom Datum des
|
|
|
+ Objektes später ist als der Abschnitt <code>$part</code> von
|
|
|
+ <code>$date</code> der das Gebietsschema <code>$locale</code> hat
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -605,8 +663,9 @@ print $date;
|
|
|
<emphasis>isToday()</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Testet ob Jahr, Monat und Tag des heutigen Datums mit dem Datumswert des
|
|
|
- Objektes übereinstimmen, wenn die Zeitzone des Objektes verwendet wird.
|
|
|
+ Testet ob Jahr, Monat und Tag des heutigen Datums mit dem Datumswert
|
|
|
+ des Objektes übereinstimmen, wenn die Zeitzone des Objektes
|
|
|
+ verwendet wird.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -617,8 +676,9 @@ print $date;
|
|
|
<emphasis>isTomorrow()</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Testet ob Jahr, Monat und Tag des morgigen Datums mit dem Datumswert des
|
|
|
- Objektes übereinstimmen, wenn die Zeitzone des Objektes verwendet wird.
|
|
|
+ Testet ob Jahr, Monat und Tag des morgigen Datums mit dem Datumswert
|
|
|
+ des Objektes übereinstimmen, wenn die Zeitzone des Objektes
|
|
|
+ verwendet wird.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -629,8 +689,9 @@ print $date;
|
|
|
<emphasis>isYesterday()</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Testet ob Jahr, Monat und Tag des gestrigen Datums mit dem Datumswert des
|
|
|
- Objektes übereinstimmen, wenn die Zeitzone des Objektes verwendet wird.
|
|
|
+ Testet ob Jahr, Monat und Tag des gestrigen Datums mit dem
|
|
|
+ Datumswert des Objektes übereinstimmen, wenn die Zeitzone des
|
|
|
+ Objektes verwendet wird.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -641,10 +702,11 @@ print $date;
|
|
|
<emphasis>isLeapYear()</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- <code>isLeapYear()</code> kann benutzt werden ob zu prüfen ob das aktuelle
|
|
|
- Objekt ein Schaltjahr ist. Sonst kann Zend_Date::checkLeapYear($year) benutzt
|
|
|
- werden um das Jahr $year zu prüfen, welches eine Zeichenkette, ein Integer
|
|
|
- oder eine Instanz von <classname>Zend_Date</classname> sein kann. Ist das Jahr ein Schaltjahr ?
|
|
|
+ <code>isLeapYear()</code> kann benutzt werden ob zu prüfen ob das
|
|
|
+ aktuelle Objekt ein Schaltjahr ist. Sonst kann
|
|
|
+ Zend_Date::checkLeapYear($year) benutzt werden um das Jahr $year zu
|
|
|
+ prüfen, welches eine Zeichenkette, ein Integer oder eine Instanz von
|
|
|
+ <classname>Zend_Date</classname> sein kann. Ist das Jahr ein Schaltjahr ?
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -655,10 +717,11 @@ print $date;
|
|
|
<emphasis>isDate($date, $format = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- This method checks if a given date is a real date and returns true if all checks are ok.
|
|
|
- It works like PHP's checkdate() function but can also check for localized month names and
|
|
|
- for dates extending the range of checkdate()
|
|
|
- false
|
|
|
+ Diese Methode prüft ob ein angegebenes Datum ein echtes Datum ist,
|
|
|
+ und gibt true zurück wenn alle Prüfungen in Ordnung waren. Sie
|
|
|
+ arbeitet wie PHP's checkdate() Funktion, kann aber auch lokalisierte
|
|
|
+ Monatsnamen prüfen sowie Daten die den Bereich von checkdate()
|
|
|
+ übersteigen
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -670,19 +733,20 @@ print $date;
|
|
|
|
|
|
<sect2 id="zend.date.others.gettingparts">
|
|
|
|
|
|
- <title>Getting Dates and Date Parts</title>
|
|
|
+ <title>Daten und Teile von Daten erhalten</title>
|
|
|
|
|
|
<para>
|
|
|
- Several methods support retrieving values related to a <classname>Zend_Date</classname> instance.
|
|
|
+ Verschiedene Methoden unterstützen das erhalten von Werten die auf eine
|
|
|
+ <classname>Zend_Date</classname> Instanz bezug nehmen.
|
|
|
</para>
|
|
|
|
|
|
<table id="zend.date.others.gettingparts.table">
|
|
|
- <title>Date Output Methods</title>
|
|
|
+ <title>Ausgabemethoden von Daten</title>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
- <entry>Method</entry>
|
|
|
- <entry>Explanation</entry>
|
|
|
+ <entry>Methode</entry>
|
|
|
+ <entry>Erklärung</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
@@ -693,11 +757,13 @@ print $date;
|
|
|
<emphasis>toString($format = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Direkt aufzurufen oder über die magische Methode <code>__toString()</code>. Die
|
|
|
- <code>toString()</code> Methode formatiert automatisch den Wert des Datumsobjektes
|
|
|
- anhand der Konventionen des Gebietsschemas des Objektes, oder einem optional definierten
|
|
|
- Gebietsschema <code>$locale</code>. Für eine Liste von unterstützten Formatcodes
|
|
|
- kann hier nachgeschaut werden: <xref linkend="zend.date.constants.selfdefinedformats" />.
|
|
|
+ Direkt aufzurufen oder über die magische Methode
|
|
|
+ <code>__toString()</code>. Die <code>toString()</code> Methode
|
|
|
+ formatiert automatisch den Wert des Datumsobjektes anhand der
|
|
|
+ Konventionen des Gebietsschemas des Objektes, oder einem optional
|
|
|
+ definierten Gebietsschema <code>$locale</code>. Für eine Liste von
|
|
|
+ unterstützten Formatcodes kann hier nachgeschaut werden:
|
|
|
+ <xref linkend="zend.date.constants.selfdefinedformats" />.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -708,9 +774,11 @@ print $date;
|
|
|
<emphasis>toArray()</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt eine Array Representation des ausgewählten Datums anhand der Konventionen des
|
|
|
- Gebietsschemas zurück. Das zurückgegebene Array is identisch zu PHP's
|
|
|
- <ulink url="http://php.net/getdate">getdate()</ulink> Funktion und beinhaltet:
|
|
|
+ Gibt eine Array Representation des ausgewählten Datums anhand der
|
|
|
+ Konventionen des Gebietsschemas zurück. Das zurückgegebene Array ist
|
|
|
+ identisch zu PHP's <ulink
|
|
|
+ url="http://php.net/getdate">getdate()</ulink> Funktion und
|
|
|
+ beinhaltet:
|
|
|
</para>
|
|
|
<para>
|
|
|
<itemizedlist>
|
|
|
@@ -798,15 +866,18 @@ print $date;
|
|
|
<emphasis>toValue($part = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Gibt eine Integer Repräsentation des ausgewählten Datumsabschnittes <code>$part</code>
|
|
|
- zurück anhand der Konventionen des Gebietsschemas des Objektes. Gibt <code>false</code>
|
|
|
- zurück wenn der Abschnitt <code>$part</code> ein nicht numerischer Wert ist, wie
|
|
|
- <classname>Zend_Date::MONTH_NAME_SHORT</classname>. <emphasis>NOTIZ:</emphasis>
|
|
|
- Diese Methode ruft <link linkend="id.date.basic.operations"><code>get()</code>
|
|
|
- </link> auf und castet das Ergebnis einen PHP Integer Wert, welcher unerwartete Ergebnisse
|
|
|
- liefern wird, wenn <code>get()</code> eine numerische Zeichenkette zurückgibt die
|
|
|
- eine Zahl enthält welche zu groß für einen PHP Integer Wert auf Ihrem System ist.
|
|
|
- Stattdessen sollte <code>get()</code> benutzt werden.
|
|
|
+ Gibt eine Integer Repräsentation des ausgewählten Datumsabschnittes
|
|
|
+ <code>$part</code> zurück anhand der Konventionen des Gebietsschemas
|
|
|
+ des Objektes. Gibt <code>false</code> zurück wenn der Abschnitt
|
|
|
+ <code>$part</code> ein nicht numerischer Wert ist, wie
|
|
|
+ <classname>Zend_Date::MONTH_NAME_SHORT</classname>.
|
|
|
+ <emphasis>NOTIZ:</emphasis> Diese Methode ruft <link
|
|
|
+ linkend="id.date.basic.operations"><code>get()</code></link> auf
|
|
|
+ und castet das Ergebnis einen PHP Integer Wert, welcher unerwartete
|
|
|
+ Ergebnisse liefern wird, wenn <code>get()</code> eine numerische
|
|
|
+ Zeichenkette zurückgibt die eine Zahl enthält welche zu groß für
|
|
|
+ einen PHP Integer Wert auf Ihrem System ist. Stattdessen sollte
|
|
|
+ <code>get()</code> benutzt werden.
|
|
|
</para>
|
|
|
</entry>
|
|
|
</row>
|
|
|
@@ -819,9 +890,10 @@ print $date;
|
|
|
<emphasis>get($part = null, $locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Diese Methode gibt den Abschnitt <code>$part</code> vom Datum des Objektes,
|
|
|
- welches mit dem Gebietsschema <code>$locale</code> lokalisiert wurde, als
|
|
|
- formatierten String oder Integer zurück. Für weitere Informationen hier weiterlesen:
|
|
|
+ Diese Methode gibt den Abschnitt <code>$part</code> vom Datum des
|
|
|
+ Objektes, welches mit dem Gebietsschema <code>$locale</code>
|
|
|
+ lokalisiert wurde, als formatierten String oder Integer zurück. Für
|
|
|
+ weitere Informationen hier weiterlesen:
|
|
|
<xref linkend="id.date.basic.operations" />.
|
|
|
</para>
|
|
|
</entry>
|
|
|
@@ -833,8 +905,9 @@ print $date;
|
|
|
<emphasis>now($locale = null)</emphasis>
|
|
|
</para>
|
|
|
<para>
|
|
|
- Diese bequemliche Funktion ist identisch mit <code>new Zend_Date()</code>.
|
|
|
- Sie gibt das aktuelle Datum als <classname>Zend_Date</classname> Objekt zurück, welches das
|
|
|
+ Diese bequemliche Funktion ist identisch mit
|
|
|
+ <code>new Zend_Date()</code>. Sie gibt das aktuelle Datum als
|
|
|
+ <classname>Zend_Date</classname> Objekt zurück, welches das
|
|
|
Gebietsschema <code>$locale</code> hat.
|
|
|
</para>
|
|
|
</entry>
|
|
|
@@ -850,7 +923,8 @@ print $date;
|
|
|
<title>Arbeiten mit Sekundenbruchteilen</title>
|
|
|
|
|
|
<para>
|
|
|
- Viele Methoden unterstützen es, Werte relativ zu einer <classname>Zend_Date</classname> Instanz zu erhalten.
|
|
|
+ Viele Methoden unterstützen es, Werte relativ zu einer <classname>Zend_Date</classname>
|
|
|
+ Instanz zu erhalten.
|
|
|
</para>
|
|
|
|
|
|
<table id="zend.date.others.fractions.table">
|
|
|
@@ -890,8 +964,8 @@ print $date;
|
|
|
<title>Sonnenaufgang / Sonnenuntergang</title>
|
|
|
|
|
|
<para>
|
|
|
- Drei Methoden geben Zugriff auf geographisch lokalisierte Informationen über die Sonne was die Zeit
|
|
|
- für Sonnenaufgang und Sonnenuntergang beinhaltet.
|
|
|
+ Drei Methoden geben Zugriff auf geographisch lokalisierte Informationen über die Sonne
|
|
|
+ was die Zeit für Sonnenaufgang und Sonnenuntergang beinhaltet.
|
|
|
</para>
|
|
|
|
|
|
<table id="zend.date.other.sun.table">
|