Zend_Date-Basic.xml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 15156 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.date.basic">
  5. <title>Basis Methoden</title>
  6. <para>
  7. Der folgende Abschnitt zeigt die Grundsätzliche Benutzung von <classname>Zend_Date</classname> hauptsächlich durch
  8. Beispiele. Für dieses Handbuch sind "Daten" immer implizit Kalenderdaten mit Zeiten, selbst wenn
  9. es nicht extra erwähnt ist und visa-versa. Der nicht angegebene Teil wird intern standardmäßig
  10. mit "null" angenommen. Das bedeutet das ein Datum welches kein Kalenderdatum aber eine Zeit von 12 Stunden
  11. hat und ein anderes Datum welches aus einem Kalenderdatum aber ohne Uhrzeit besteht zusammen
  12. zu einem Datum führen welches das Kalenderdatum enthält mit einer Uhrzeit von "Mittags".
  13. </para>
  14. <para>
  15. Das Setzen eines Datums ohne Zeit bedeutet das die Zeit auf 00:00:00 gesetzt wird. Genauso
  16. bedeutet das Setzen einer Zeit ohne Datum das Intern das Datum auf 01.01.1970 gesetzt wird inklusive der
  17. Anzahl an Sekunden welche der vergangenen Stunden, Minuten und Sekunden der angegebenen Zeit entsprechen.
  18. Normalerweise messen Personen Dinge von einem Startpunkt aus, wie das Jahr 0 A.D. Trotzdem, verwenden die
  19. meisten Softwaresysteme die erste Sekunde des Jahres 1970 als Startpunkt und bezeichnen Zeiten als Abstand
  20. zum Zeitpunkt durch Zählen der Anzahl an Sekunden die seit diesem dem Startpunkt vergangen sind.
  21. </para>
  22. <sect2 id="zend.date.basic.creation">
  23. <title>Aktuelles Datum</title>
  24. <para>
  25. Ohne jegliche Argumente bedeutet die Erstellung einer Instanz das ein Objekt mit dem aktuellen
  26. Gebietsschema und dem aktuellen lokalen Datum zurückgegeben wird, durch Verwendung von PHP's
  27. <code>time()</code> Funktion um den aktuellen
  28. <ulink url="http://en.wikipedia.org/wiki/Unix_Time">UNIX Zeitpunkt</ulink> für das Objekt zu erhalten.
  29. Man muß sicherstellen das die PHP Umgebung die richtige
  30. <link linkend="zend.date.setdefaulttimezone">Standardzeitzone</link> gesetzt hat.
  31. </para>
  32. <example id="zend.date.basic.creation.example-1">
  33. <title>Erstellen des aktuellen Datums</title>
  34. <programlisting role="php"><![CDATA[
  35. $date = new Zend_Date();
  36. // Ausgabe des aktuellen Zeitpunktes
  37. print $date;
  38. ]]></programlisting>
  39. </example>
  40. </sect2>
  41. <sect2 id="zend.date.basic.functions">
  42. <title>Zend_Date durch Beispiele</title>
  43. <para>
  44. Das Durchschauen der Basismethoden von <classname>Zend_Date</classname> ist ein guter Weg für den Start für
  45. jene welche noch nie mit Datums Objekten in anderen Sprachen oder Frameworks gearbeitet haben.
  46. Für jede anbei angeführte Methode gibt es ein kleines Beispiel.
  47. </para>
  48. <sect3 id="zend.date.simple.functions.get">
  49. <title>Ein Datum ausgeben</title>
  50. <para>
  51. Ein Datum in einem <classname>Zend_Date</classname> Objekt kann als Integer oder lokalisierte Zeichenkette
  52. ausgegeben werden indem man die <code>get()</code> Methode verwendet. Es gibt viele Optionen welche
  53. in einer späteren Sektion beschrieben werden.
  54. </para>
  55. <example id="zend.date.simple.functions.get.example-1">
  56. <title>get() - Ausgabe eines Datums</title>
  57. <programlisting role="php"><![CDATA[
  58. $date = new Zend_Date();
  59. // Ausgabe des gewünschten Datums
  60. print $date->get();
  61. ]]></programlisting>
  62. </example>
  63. </sect3>
  64. <sect3 id="zend.date.simple.functions.set">
  65. <title>Setzen eines Datums</title>
  66. <para>
  67. Die <code>set()</code> Methode verändert das Datum welches im Objekt gespeichert ist und gibt das
  68. endgültige Datum als Zeitpunkt (nicht als Objekt) zurück. Auch hier gibt es viele Optionen die in
  69. einer späteren Sektion beschrieben werden.
  70. </para>
  71. <example id="zend.date.simple.functions.set.example-1">
  72. <title>set() - Setzen eines Datums</title>
  73. <programlisting role="php"><![CDATA[
  74. $date = new Zend_Date();
  75. // Setzen einer neuen Zeit
  76. $date->set('13:00:00',Zend_Date::TIMES);
  77. print $date->get(Zend_Date::W3C);
  78. ]]></programlisting>
  79. </example>
  80. </sect3>
  81. <sect3 id="zend.date.simple.functions.add">
  82. <title>Addieren und Subtrahieren von Daten</title>
  83. <para>
  84. Das Addieren von zwei Daten mit <code>add()</code> bedeutet normalerweise das Addieren eines
  85. echtes Datums mit einem speziellen Zeitpunkt der einen Datumsabschnitt repräsentiert, wie z.B.
  86. 12 Stunden, wie im nachfolgenden Beispiel gezeigt. Beide, <code>add()</code> und <code>sub()</code>
  87. verwenden die gleichen Optionen wie <code>set()</code>, welche später erklärt werden.
  88. </para>
  89. <example id="zend.date.simple.functions.add.example-1">
  90. <title>add() - Addieren von Daten</title>
  91. <programlisting role="php"><![CDATA[
  92. $date = new Zend_Date();
  93. // $date verändern durch addieren von 12 Stunden
  94. $date->add('12:00:00', Zend_Date::TIMES);
  95. echo "Datum über get() = ", $date->get(Zend_Date::W3C), "\n";
  96. // benutze die magische __toString() Methode um
  97. // Zend_Date's toString() aufzurufen
  98. echo "Datum über toString() = ", $date, "\n";
  99. ]]></programlisting>
  100. </example>
  101. </sect3>
  102. <sect3 id="zend.date.simple.functions.compare">
  103. <title>Vergleichen von Daten</title>
  104. <para>
  105. Alle Basis Methoden von <classname>Zend_Date</classname> können mit kompletten Daten, welche in einem
  106. Objekt enthalten sind, arbeiten, oder mit Datumsabschnitten, wie dem Vergleich eines
  107. Minutenwertes in einem Datum mit einem absoluten Wert. Zum Beispiel können die aktuellen
  108. Minuten der aktuellen Zeit mit einer speziellen Zahl von Minuten verglichen werden durch Verwendung
  109. von <code>compare()</code> wie im nachfolgenden Beispiel beschrieben.
  110. </para>
  111. <example id="zend.date.simple.functions.compare.example-1">
  112. <title>compare() - Vergleichen von Daten</title>
  113. <programlisting role="php"><![CDATA[
  114. $date = new Zend_Date();
  115. // Vergleichen von beiden Zeiten
  116. if ($date->compare(10, Zend_Date::MINUTE) == -1) {
  117. print "Diese Stunde ist weniger als 10 Minuten alt";
  118. } else {
  119. print "Diese Stunde ist mehr als 10 Minuten alt";
  120. }
  121. ]]></programlisting>
  122. </example>
  123. <para>
  124. Für einen einfachen Vergleich der Gleichheit kann <code>equals()</code> verwendet werden,
  125. welches ein Boolean zurückgibt.
  126. </para>
  127. <example id="zend.date.simple.functions.compare.example-2">
  128. <title>equals() - Identifizieren eines Datums oder Datumsabschnittes</title>
  129. <programlisting role="php"><![CDATA[
  130. $date = new Zend_Date();
  131. // Vergleichen von zwei Zeiten
  132. if ($date->equals(10, Zend_Date::HOUR)) {
  133. print "Es ist 10Uhr. Zeit für die Arbeit.";
  134. } else {
  135. print "Es ist noch nicht 10Uhr. Du kannst weiterschlafen.";
  136. }
  137. ]]></programlisting>
  138. </example>
  139. </sect3>
  140. </sect2>
  141. </sect1>
  142. <!--
  143. vim:se ts=4 sw=4 et:
  144. -->