| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 15156 -->
- <!-- Reviewed: no -->
- <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 visa-versa. Der nicht angegebene Teil wird intern standardmäßig
- mit "null" angenommen. Das bedeutet das 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 das die Zeit auf 00:00:00 gesetzt wird. Genauso
- bedeutet das Setzen einer Zeit ohne Datum das Intern das Datum auf 01.01.1970 gesetzt wird inklusive der
- Anzahl an Sekunden welche der vergangenen Stunden, Minuten und Sekunden der angegebenen Zeit entsprechen.
- 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 das ein Objekt mit dem aktuellen
- Gebietsschema und dem aktuellen lokalen Datum zurückgegeben wird, durch Verwendung von PHP's
- <code>time()</code> 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 das die PHP 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 role="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 Datums Objekten 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 <code>get()</code> Methode verwendet. Es gibt viele Optionen welche
- in einer späteren Sektion beschrieben werden.
- </para>
- <example id="zend.date.simple.functions.get.example-1">
- <title>get() - Ausgabe eines Datums</title>
- <programlisting role="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 <code>set()</code> 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
- einer späteren Sektion beschrieben werden.
- </para>
- <example id="zend.date.simple.functions.set.example-1">
- <title>set() - Setzen eines Datums</title>
- <programlisting role="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 <code>add()</code> 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, <code>add()</code> und <code>sub()</code>
- verwenden die gleichen Optionen wie <code>set()</code>, welche später erklärt werden.
- </para>
- <example id="zend.date.simple.functions.add.example-1">
- <title>add() - Addieren von Daten</title>
- <programlisting role="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 Basis Methoden 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 <code>compare()</code> wie im nachfolgenden Beispiel beschrieben.
- </para>
- <example id="zend.date.simple.functions.compare.example-1">
- <title>compare() - Vergleichen von Daten</title>
- <programlisting role="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 <code>equals()</code> 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 role="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>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|