| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: 20766 -->
- <sect1 id="zend.date.basic">
- <title>Basis Methoden</title>
- <para>
- Der folgende Abschnitt zeigt die grundsätzliche Benutzung von
- <classname>Zend_Date</classname> hauptsächlich durch Beispiele. Für dieses Handbuch sind
- "Daten" immer implizit Kalenderdaten mit Zeiten, selbst wenn es nicht extra erwähnt ist und
- umgekehrt. Der nicht angegebene Teil wird intern standardmäßig mit "null" angenommen. Das
- bedeutet, dass ein Datum, welches kein Kalenderdatum aber eine Zeit von 12 Stunden hat und ein
- anderes Datum, welches aus einem Kalenderdatum aber ohne Uhrzeit besteht zusammen zu einem
- Datum führen, welches das Kalenderdatum enthält mit einer Uhrzeit von "Mittags".
- </para>
- <para>
- Das Setzen eines Datums ohne Zeit bedeutet, dass die Zeit auf 00:00:00 gesetzt wird. Genauso
- bedeutet das Setzen einer Zeit ohne Datum, dass intern das Datum auf 01.01.1970 inklusive
- der Anzahl an Sekunden welche der vergangenen Stunden, Minuten und Sekunden der angegebenen
- Zeit entsprechen, gesetzt wird . Normalerweise messen Personen Dinge von einem Startpunkt
- aus, wie das Jahr 0 A.D. Trotzdem verwenden die meisten Softwaresysteme die erste Sekunde
- des Jahres 1970 als Startpunkt und bezeichnen Zeiten als Abstand zum Zeitpunkt durch Zählen
- der Anzahl an Sekunden, die seit diesem dem Startpunkt vergangen sind.
- </para>
- <sect2 id="zend.date.basic.creation">
- <title>Aktuelles Datum</title>
- <para>
- Ohne jegliche Argumente bedeutet die Erstellung einer Instanz, dass ein Objekt mit dem
- aktuellen Gebietsschema und dem aktuellen lokalen Datum zurückgegeben wird, durch
- Verwendung von <acronym>PHP</acronym>'s <methodname>time()</methodname> Funktion um den
- aktuellen <ulink url="http://en.wikipedia.org/wiki/Unix_Time">UNIX Zeitpunkt</ulink> für
- das Objekt zu erhalten. Man muß sicherstellen, dass die <acronym>PHP</acronym> Umgebung
- die richtige <link linkend="zend.date.setdefaulttimezone">Standardzeitzone</link>
- gesetzt hat.
- </para>
- <example id="zend.date.basic.creation.example-1">
- <title>Erstellen des aktuellen Datums</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // Ausgabe des aktuellen Zeitpunktes
- print $date;
- ]]></programlisting>
- </example>
- </sect2>
- <sect2 id="zend.date.basic.functions">
- <title>Zend_Date durch Beispiele</title>
- <para>
- Das Durchschauen der Basismethoden von <classname>Zend_Date</classname> ist ein guter
- Weg für den Start für jene, welche noch nie mit Datumsobjekten in anderen Sprachen oder
- Frameworks gearbeitet haben. Für jede anbei angeführte Methode gibt es ein kleines
- Beispiel.
- </para>
- <sect3 id="zend.date.simple.functions.get">
- <title>Ein Datum ausgeben</title>
- <para>
- Ein Datum in einem <classname>Zend_Date</classname> Objekt kann als Integer oder
- lokalisierte Zeichenkette ausgegeben werden, indem man die
- <methodname>get()</methodname> Methode verwendet. Es gibt viele Optionen, welche
- in einem späteren Abschnitt beschrieben werden.
- </para>
- <example id="zend.date.simple.functions.get.example-1">
- <title>get() - Ausgabe eines Datums</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // Ausgabe des gewünschten Datums
- print $date->get();
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.date.simple.functions.set">
- <title>Setzen eines Datums</title>
- <para>
- Die <methodname>set()</methodname> Methode verändert das Datum, welches im Objekt
- gespeichert ist und gibt das endgültige Datum als Zeitpunkt (nicht als Objekt)
- zurück. Auch hier gibt es viele Optionen, die in einem späteren Abschnitt beschrieben
- werden.
- </para>
- <example id="zend.date.simple.functions.set.example-1">
- <title>set() - Setzen eines Datums</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // Setzen einer neuen Zeit
- $date->set('13:00:00',Zend_Date::TIMES);
- print $date->get(Zend_Date::W3C);
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.date.simple.functions.add">
- <title>Addieren und Subtrahieren von Daten</title>
- <para>
- Das Addieren von zwei Daten mit <methodname>add()</methodname> bedeutet
- normalerweise das Addieren eines echtes Datums mit einem speziellen Zeitpunkt, der
- einen Datumsabschnitt repräsentiert, wie z.B. 12 Stunden, wie im nachfolgenden
- Beispiel gezeigt. Beide, <methodname>add()</methodname> und
- <methodname>sub()</methodname> verwenden die gleichen Optionen wie
- <methodname>set()</methodname>, welche später erklärt werden.
- </para>
- <example id="zend.date.simple.functions.add.example-1">
- <title>add() - Addieren von Daten</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // $date verändern durch addieren von 12 Stunden
- $date->add('12:00:00', Zend_Date::TIMES);
- echo "Datum über get() = ", $date->get(Zend_Date::W3C), "\n";
- // benutze die magische __toString() Methode um
- // Zend_Date's toString() aufzurufen
- echo "Datum über toString() = ", $date, "\n";
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.date.simple.functions.compare">
- <title>Vergleichen von Daten</title>
- <para>
- Alle Basismethoden von <classname>Zend_Date</classname> können mit kompletten
- Daten, welche in einem Objekt enthalten sind, arbeiten oder mit Datumsabschnitten,
- wie dem Vergleich eines Minutenwertes in einem Datum mit einem absoluten Wert. Zum
- Beispiel können die aktuellen Minuten der aktuellen Zeit mit einer speziellen Zahl
- von Minuten verglichen werden durch Verwendung von
- <methodname>compare()</methodname> wie im nachfolgenden Beispiel beschrieben.
- </para>
- <example id="zend.date.simple.functions.compare.example-1">
- <title>compare() - Vergleichen von Daten</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // Vergleichen von beiden Zeiten
- if ($date->compare(10, Zend_Date::MINUTE) == -1) {
- print "Diese Stunde ist weniger als 10 Minuten alt";
- } else {
- print "Diese Stunde ist mehr als 10 Minuten alt";
- }
- ]]></programlisting>
- </example>
- <para>
- Für einen einfachen Vergleich der Gleichheit kann <methodname>equals()</methodname>
- verwendet werden, welches ein Boolean zurückgibt.
- </para>
- <example id="zend.date.simple.functions.compare.example-2">
- <title>equals() - Identifizieren eines Datums oder Datumsabschnittes</title>
- <programlisting language="php"><![CDATA[
- $date = new Zend_Date();
- // Vergleichen von zwei Zeiten
- if ($date->equals(10, Zend_Date::HOUR)) {
- print "Es ist 10Uhr. Zeit für die Arbeit.";
- } else {
- print "Es ist noch nicht 10Uhr. Du kannst weiterschlafen.";
- }
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
- </sect1>
|