Zend_Date-Overview.xml 58 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 18842 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.date.overview">
  5. <title>Zend_Date API Übersicht</title>
  6. <para>
  7. Obwohl die <acronym>API</acronym> von <classname>Zend_Date</classname> simpel und eindeutig
  8. ist, ist dessen Design flexibel und mächtig durch die Vielzahl an Möglcihkeiten von
  9. Operationen und Operanden.
  10. </para>
  11. <sect2 id="zend.date.options">
  12. <title>Zend_Date Optionen</title>
  13. <sect3 id="zend.date.options.formattype">
  14. <title>Auswahl der Art des Datumsformats</title>
  15. <para>
  16. Viele Methoden benutzen Zeichenketten für Datumsformate so ähnlich wie
  17. <acronym>PHP</acronym>'s <methodname>date()</methodname>. Wenn man mit den Zeichen
  18. von <acronym>PHP</acronym>'s Datumsformaten mehr Erfahrung hat als mit den
  19. <acronym>ISO</acronym> Zeichen für Formate dann kann man
  20. <methodname>Zend_Date::setOptions(array('format_type' => 'php'))</methodname>
  21. benutzen. Danach können <acronym>PHP</acronym>'s Zeichen für Datumsformate für alle
  22. Funktionen verwendet werden die einen <varname>$format</varname> Parameter
  23. akzeptieren. Durch Benutzen von
  24. <methodname>Zend_Date::setOptions(array('format_type' => 'iso'))</methodname> kann
  25. man wieder auf den Standardmodus zurückwechseln der nur <acronym>ISO</acronym>
  26. Zeichen für Datumsformate unterstützt. Für eine Liste von unterstützten Zeichen
  27. Codes kann hier nachgelesen werden: <link
  28. linkend="zend.date.constants.phpformats">selbst definierte AUSGABE Formate bei
  29. Verwendung von PHP's date() Formatzeichen</link>
  30. </para>
  31. </sect3>
  32. <sect3 id="zend.date.options.fixdst">
  33. <title>Sommer-/Winterzeit und Datumsberechnungen</title>
  34. <para>
  35. Wenn Daten manipuliert werden überschreiten Sie manchmal die <acronym>DST</acronym>
  36. Grenze (Sommer-/Winterzeit) was normalerweise dazu führt das das Datum eine Stunde
  37. verliert oder hinzubekommt. Wenn zum Beispiel ein Monat zu einem Datum vor einer
  38. <acronym>DST</acronym> Änderung hinzugefügt wird und das Ergebnismonat nach dieser
  39. Änderung liegt, sieht es so aus als ob das Datum eine Stunde verliert oder
  40. hinzubekommt durch den Wert des geänderten Datums. Für Grenzstunden, wie Mitternacht
  41. für den ersten oder letzten Tag eines Monats, führt das Hinzufügen von genügend
  42. Monaten, wenn die <acronym>DST</acronym> Grenze überschritten wird, dazu dass das
  43. Datum eine Stunde verliert und damit zum letzten Tag des Vormonats wird durch das
  44. Erscheinungsbild des "eins fehlt" Fehlers. Um diese Situationen zu vermeiden, kann
  45. die <acronym>DST</acronym> Änderung durch Verwendung der
  46. <property>fix_dst</property> Option ignoriert werden. Wenn eine
  47. <acronym>DST</acronym> Grenze überschritten wird, wird ja normalerweise eine Stunde
  48. hinzugefügt oder entfernt abhändig vom Datum. Zum Beispiel führt eine
  49. Datumsberechnung mit <acronym>DST</acronym> im Frühling zu einem Datum welche einen
  50. Tag weniger hat als erwartet, wenn die Zeit des Originaldatums 00:00:00 war. Da
  51. <classname>Zend_Date</classname> auf Zeitpunkten basiert und nicht auf Kalenderdaten
  52. mit Zeitkomponenten, verliert der Zeitpunkt eine Stunde was zu einem Datum führt das
  53. einen Kalendertag weniger hat als erwartet. Um solche Problem zu verhindern kann die
  54. Option <property>fix_dst</property> verwendet werden, welche standardmäßig
  55. <constant>TRUE</constant> ist. Das führt dazu das die <acronym>DST</acronym> keinen
  56. Einfluß mehr bei Datumsberechnungen zeigt (<methodname>addMonth()</methodname>,
  57. <methodname>subMonth()</methodname>).
  58. <methodname>Zend_Date::setOptions(array('fix_dst' => false))</methodname> kann
  59. benutzt werden um Hinzufügen oder Entfernen der <acronym>DST</acronym> Anpassung zu
  60. gestatten wenn Datumsberechnungen durchgeführt werden.
  61. </para>
  62. <para>
  63. <emphasis>Wenn die aktuelle Zeitzone innerhalb der Instanz von
  64. <classname>Zend_Date</classname> auf <acronym>UTC</acronym> oder
  65. <acronym>GMT</acronym> gestellt wird, wird die Option '<property>fix_dst</property>'
  66. nicht verwendet</emphasis> weil diese zwei Zeitzonen nicht mit
  67. <acronym>DST</acronym> arbeiten. Wenn die Zeitzone für diese Instanz wieder auf eine
  68. Zeitzone gestellt wird die nicht <acronym>UTC</acronym> oder <acronym>GMT</acronym>
  69. ist, wird die vorher definierte 'fix_dst' Option wieder für die Datumsberechnungen
  70. verwendet.
  71. </para>
  72. </sect3>
  73. <sect3 id="zend.date.options.extendmonth">
  74. <title>Monatsberechnungen</title>
  75. <para>
  76. Wenn Monate von einem existierenden Datum hinzugefügt oder entfernt werden, kann der
  77. Ergebniswert des Monatstages unerwartet sein, wenn das Originaldatum auf einen Tag
  78. gefallen ist der Nahe am Ende des Monats ist. Wenn zum Beispiel ein Monat zum 31sten
  79. Jänner hinzugefügt wird, werden Personen welche mit <acronym>SQL</acronym> vertraut
  80. sind den 28sten Februar als Ergebnis erwarten. Auf der anderen Seite werden Personen
  81. welche mit Excel und OpenOffice vertraut sind werden den 3ten März als Ergebnis
  82. erwarten. Das Problem besteht nur wen das Ergebnismonat den Tag der im Originaldatum
  83. gesetzt war, nicht hat. Für Zend Framework Entwickler können das gewünschte
  84. Verhalten ausgewählen indem die Option <property>extend_month</property> genutzt
  85. wird um entweder das <acronym>SQL</acronym> Verhalten, wenn die Option
  86. <constant>FALSE</constant> ist, oder das Tabellenverhalten, wenn die Option
  87. <constant>TRUE</constant> ist, auszuwählen. Das Standardverhalten für
  88. <property>extend_month</property> ist <constant>FALSE</constant>, um
  89. <acronym>SQL</acronym> kompatibles Verhalten zu erlauben.
  90. <classname>Zend_Date</classname> führt Monatsberechnungen standardmäßig in der Art
  91. durch das Daten auf das Monatsende hin abgeschnitten werden (wenn notwendig), ohne
  92. das in den nächsten Monat umgebrochen wird wenn das Originaldatum einen Monatstag
  93. bestimmt der die Anzahl der Tag des Ergebnismonats überschreitet.
  94. <methodname>Zend_Date::setOptions(array('extend_month' => true))</methodname> kann
  95. benutzt werden um Monatsberechnungen wie in populären Tabellenkalkulationen
  96. durchzuführen.
  97. </para>
  98. </sect3>
  99. <sect3 id="zend.date.options.cache">
  100. <title>
  101. Lokalisierung und Normalisierung von Daten mit Zend_Cache schneller machen
  102. </title>
  103. <para>
  104. Man kann <classname>Zend_Date</classname> schneller machen indem ein
  105. <classname>Zend_Cache</classname> Adapter verwendet wird. Das verschnellert alle
  106. Methoden von <classname>Zend_Date</classname> wenn lokalisierte Daten verwendet
  107. werden. Zum Beispiel werden alle Methoden welche
  108. <constant>Zend_Date::DATE</constant> und <constant>Zend_Date::TIME</constant>
  109. Konstanten akzeptieren hiervon profitieren. Um einen
  110. <classname>Zend_Cache</classname> Adapter für <classname>Zend_Date</classname> zu
  111. setzen muß nur
  112. <methodname>Zend_Date::setOptions(array('cache' => $adapter))</methodname>
  113. aufgerufen werden.
  114. </para>
  115. </sect3>
  116. <sect3 id="zend.date.options.timesync">
  117. <title>Syncronisierte Zeiten mit Zend_TimeSync erhalten</title>
  118. <para>
  119. Normalerweise unterscheiden sich die Uhren von Servern und Computern voneinander.
  120. <classname>Zend_Date</classname> ist dazu fähig solche Probleme mit Hilfe von
  121. <classname>Zend_TimeSync</classname> zu handhaben. Mit
  122. <methodname>Zend_Date::setOptions(array('timesync' => $timeserver))</methodname>
  123. kann ein Zeitserver gesetzt werden welcher den Unterschied zwischen dem eigenen
  124. aktuellen Zeitpunkt und dem wirklichen aktuellen Zeitpunkt für alle Instanzen von
  125. <classname>Zend_Date</classname> setzt. Die Verwendung dieser Option ändern nicht
  126. den Zeitpunkt von bestehenden Instanzen. Am besten ist es also dies innerhalb der
  127. Bootstrap Datei zu setzen.
  128. </para>
  129. </sect3>
  130. </sect2>
  131. <sect2 id="zend.date.values">
  132. <title>Arbeiten mit Datumswerten</title>
  133. <para>
  134. Sobald die Eingabe durch die Erstellung eines <classname>Zend_Date</classname> Objektes
  135. normalisiert wurde, hat es eine zugeordnete Zeitzone aber eine Interne Darstellung durch
  136. Verwendung von <ulink
  137. url="http://en.wikipedia.org/wiki/Unix_Time">UNIX Zeitpunkten</ulink>. Damit ein
  138. Datum in einer lokalisierten Art und Weise durchsucht werden kann, muß zuerst eine
  139. Zeitzone bekannt sein. Die Standardzeitzone ist immer <acronym>GMT</acronym> or
  140. <acronym>UTC</acronym>. Um die Zeitzone des Objektes zu inspizieren kann
  141. <methodname>getTimeZone()</methodname> verwendet werden. Um die Zeitzone des Objektes zu
  142. wechseln kann <methodname>setTimeZone()</methodname> verwendet werden. Alle Änderungen
  143. des Objektes sind immer relativ zu seiner Zeitzone zu sehen.
  144. </para>
  145. <para>
  146. Aufpassen das nicht Teile von Datumsobjekten die unterschiedliche Zeitzonen haben,
  147. gemischt oder verglichen werden, da dies Grundsätzlich unerwartete Resultate zeigen kann
  148. da die Manipulationen nur dem Zeitpunkt zugeordnet werden. Das Arbeiten an
  149. <classname>Zend_Date</classname> Objekten die unterschiedliche Zeitzonen haben
  150. funktioniert grundsätzlich abgesehen davon wie vorher erwähnt, da Daten bei der
  151. Instantiierung von <classname>Zend_Date</classname> zu <acronym>UNIX</acronym>
  152. Zeitpunkten normalisiert werden.
  153. </para>
  154. <para>
  155. Die meisten Methoden erwarten eine Konstante für die Auswahl des gewünschten Teils
  156. <varname>$part</varname> des Datums, wie z.B. <constant>Zend_Date::HOUR</constant>.
  157. Diese Konstanten sind für alle unten angeführten Funktionen gültig. Eine Liste aller
  158. vorhandenen Konstanten wird hier beschrieben: <link
  159. linkend="zend.date.constants.list">Liste aller Konstanten</link>. Wenn
  160. <varname>$part</varname> nicht spezifiziert wird, wird
  161. <constant>Zend_Date::TIMESTAMP</constant> angenommen. Alternativ kann ein
  162. benutzerdefiniertes Format für <varname>$part</varname> verwendet werden, mit Hilfe der
  163. gleichen Mechanismen und Formatdefinitionen wie bei <link
  164. linkend="zend.locale.date.normalize"><methodname>Zend_Locale_Format::getDate()</methodname></link>.
  165. Wenn ein Datumsobjekt erstellt wird durch Verwendung eines offensichtlich falschen
  166. Datums (z.B. die Nummer des Monats größer als 12), wird <classname>Zend_Date</classname>
  167. eine Ausnahme werfen, solange kein spezielles Datumsformat ausgewählt wurde, und z.B.
  168. <varname>$part</varname> entweder <constant>NULL</constant> oder
  169. <constant>Zend_Date::DATES</constant> (ein "fehlertolerantes" Format).
  170. </para>
  171. <example id="zend.date.values.example-1">
  172. <title>Benutzerdefinierte Eingabeformate für Daten</title>
  173. <programlisting language="php"><![CDATA[
  174. $date1 = new Zend_Date('Feb 31, 2007', null, 'en_US');
  175. echo $date1, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"
  176. $date2 = new Zend_Date('Feb 31, 2007', Zend_Date::DATES, 'en_US');
  177. echo $date2, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"
  178. // Stikte Interpretation des angegebenen Formats
  179. $date3 = new Zend_Date('Feb 31, 2007', 'MM.dd.yyyy');
  180. echo $date3, "\n"; // Ausgabe "Mar 3, 2007 12:00:00 AM"
  181. ]]></programlisting>
  182. </example>
  183. <para>
  184. Wenn der optionale <varname>$locale</varname> Parameter angegeben wurde, dann
  185. verdeutlicht <varname>$locale</varname> den <varname>$date</varname> Operand durch
  186. Ersetzen der Monatsnamen und Wochentagsnamen für die <varname>$date</varname>
  187. Zeichenkette, und auch Datumszeichenketten können analysiert werden durch die
  188. Vorschriften dieses Gebietsschemas (siehe <link
  189. linkend="zend.locale.date.normalize">Zend_Locale_Format::getDate()</link>).
  190. Die automatische Normalisierung von lokalisierten <varname>$date</varname> Angaben einer
  191. Zeichenkette werden nur dann durchgeführt wenn für <varname>$part</varname> eine der
  192. <constant>Zend_Date::DATE</constant>* oder <constant>Zend_Date::TIME</constant>*
  193. Konstanten verwendet wird. Das Gebietsschema identifiziert die Sprache welche verwendet
  194. werden soll um Monatsnamen und Wochentagsnamen zu analysieren wenn
  195. <varname>$date</varname> eine Zeichenkette ist die ein Datum enthält. Wenn der
  196. Eingabeparameter <varname>$date</varname> nicht angegeben wurde, dann definiert der
  197. <varname>$locale</varname> Parameter das Gebietsschema für lokalisierte Ausgaben (z.B.
  198. das Datumsformat für eine Ausgabe als Zeichenkette). Anzumerken ist auch das der
  199. <varname>$date</varname> Parameter stattdessen ein Typname sein kann (z.B.
  200. <varname>$hour</varname> für <methodname>addHour()</methodname>), und das verhindert
  201. auch nicht das ein <classname>Zend_Date</classname> Objekt als Argument für diesen
  202. Parameter angegeben werden kann. Wenn keine <varname>$locale</varname> angegeben wurde,
  203. wird das Gebietsschema des aktuellen Objektes genommen um <varname>$date</varname> zu
  204. interpretieren oder das lokalisierte Format für die Ausgabe auszuwählen.
  205. </para>
  206. <para>
  207. Seit Zend Framework 1.7.0 unterstützt <classname>Zend_Date</classname> auch die
  208. Verwendung eines Anwendungsweiten Gebietsschemas. Man kann ganz einfach eine
  209. <classname>Zend_Locale</classname> Instanz in der Registry setzen wie anbei gezeigt. Mit
  210. dieser Schreibweise kann man das manuelle Setzen eines Gebietsschemas für jede Instanz
  211. vergessen wenn man das selbe Gebietsschema mehrere Male verwenden will.
  212. </para>
  213. <programlisting language="php"><![CDATA[
  214. // In der Bootstrap Datei
  215. $locale = new Zend_Locale('de_AT');
  216. Zend_Registry::set('Zend_Locale', $locale);
  217. // Irgendwo in der eigenen Anwendung
  218. $date = new Zend_Date('31.Feb.2007');
  219. ]]></programlisting>
  220. </sect2>
  221. <sect2 id="id.date.basic">
  222. <title>Grundsätzliche Zend_Date Operationen für die meisten Teile von Daten</title>
  223. <para>
  224. Die Methoden <methodname>add()</methodname>, <methodname>sub()</methodname>,
  225. <methodname>compare()</methodname>, <methodname>get()</methodname>, und
  226. <methodname>set()</methodname> arbeiten generell mit Daten. In Jedem Fall wird die
  227. Operation auf dem Datum durchgeführt das in den Objektinstanz vorhanden ist. Der
  228. <varname>$date</varname> Operand wird für alle dieser Methoden benötigt, ausser für
  229. <methodname>get()</methodname> und kann eine <classname>Zend_Date</classname>
  230. Objektinstanz, eine nummerische Zeichenkette oder ein Integer sein. Diese Methoden
  231. nehmen an das <varname>$date</varname> ein Zeitpunkt ist, wenn es kein Objekt ist.
  232. Trotzdem kontrolliert der <varname>$part</varname> Operand an welchem logischen Teil
  233. der zwei Daten gearbeitet werden soll, was Arbeiten an Teilen von Daten des Objekts
  234. erlaubt, wie Jahr oder Minute selbst wenn <varname>$date</varname> eine lange Form
  235. einer Datumszeichenkette enthält wie "Dezember 31, 2007 23:59:59". Das Ergebnis der
  236. Operation ändert das Datum im Objekt ausser bei <methodname>compare()</methodname> und
  237. <methodname>get()</methodname>.
  238. </para>
  239. <example id="zend.date.basic.example-1">
  240. <title>Arbeiten an Teilen von Daten</title>
  241. <programlisting language="php"><![CDATA[
  242. $date = new Zend_Date(); // $date's Zeitpunkt === time()
  243. // Ändert $date durch addieren von 12 Stunden
  244. $date->add('12', Zend_Date::HOUR);
  245. print $date;
  246. ]]></programlisting>
  247. </example>
  248. <para>
  249. Übliche Methoden existieren für jede Kombination von Basisarbeiten und viele normale
  250. Datumsabschnitte wie in der Tabelle anbei gezeigt. Diese üblichen Methoden erlauben uns
  251. faulen Programmierern zu vermeiden das die <link
  252. linkend="zend.date.constants.list">Konstanten für Datumsabschnitte</link>
  253. ausgeschrieben werden müssen. Normalerweise sind wir benannt durch Kombination eines
  254. Prefixes (Name der Basisoperation) und einem Suffix (Art des Datumsabschnittes), wie
  255. <methodname>addYear()</methodname>. In der Liste die anbei steht, existieren alle
  256. Kombinationen von "Datumsabschnitten" und "Basisoperationen". Zum Beispiel die
  257. Operation "add" existiert für jeden dieser Datumsabschnitte wie
  258. <methodname>addDay()</methodname>, <methodname>addYear()</methodname> und viele mehr.
  259. </para>
  260. <para>
  261. Diese üblichen Methoden haben die selbe gleichartige Funktionalität wie die Methoden für
  262. die Basisoperationen, aber Sie erwarten Zeichenkette und Integer
  263. <varname>$date</varname> Operanden welche nur die Werte enthalten welche durch den Typ
  264. definiert sind der durch den Suffix der Methode definiert wurde. Deshalb identifizieren
  265. diese Methoden (z.B. "Year" oder "Minute") die Einheit des <varname>$date</varname>
  266. Operanden wenn <varname>$date</varname> eine Zeichenkette oder ein Integer ist
  267. </para>
  268. <sect3 id="id.date.basic.parts">
  269. <title>Liste der Datumsabschnitte</title>
  270. <table id="id.date.basic.parts.table">
  271. <title>Datumsabschnitte</title>
  272. <tgroup cols="2">
  273. <thead>
  274. <row>
  275. <entry>Datumsabschnitt</entry>
  276. <entry>Erklärung</entry>
  277. </row>
  278. </thead>
  279. <tbody>
  280. <row>
  281. <entry>
  282. <ulink url="http://en.wikipedia.org/wiki/Unix_Time">Zeitpunkt</ulink>
  283. </entry>
  284. <entry>
  285. UNIX Zeitpunkt, ausgedrückt in Sekunden die vergangen sind seit dem
  286. 1. Jänner, 1970 00:00:00 <acronym>GMT</acronym>.
  287. </entry>
  288. </row>
  289. <row>
  290. <entry>
  291. <ulink url="http://en.wikipedia.org/wiki/Gregorian_calendar">Jahr</ulink>
  292. </entry>
  293. <entry>Gregorianisches Kalenderjahr (z.B. 2006)</entry>
  294. </row>
  295. <row>
  296. <entry>
  297. <ulink url="http://en.wikipedia.org/wiki/Month#Julian_and_Gregorian_calendars">Monat</ulink>
  298. </entry>
  299. <entry>
  300. Gregorianisches Kalendermonat (1-12, Lokalisierte Namen werden
  301. unterstützt)
  302. </entry>
  303. </row>
  304. <row>
  305. <entry>
  306. <ulink url="http://en.wikipedia.org/wiki/24-hour_clock">24 Stunden
  307. Uhr</ulink>
  308. </entry>
  309. <entry>
  310. Stunde des Tages (0-23) bezeichnet die vergangenen Stunden seit dem
  311. Beginn des Tages
  312. </entry>
  313. </row>
  314. <row>
  315. <entry>
  316. <ulink url="http://en.wikipedia.org/wiki/Minute">Minute</ulink>
  317. </entry>
  318. <entry>
  319. Minuten der Stunde (0-59) bezeichnet die vergangenen Minuten seit
  320. dem Beginn der Stunde
  321. </entry>
  322. </row>
  323. <row>
  324. <entry>
  325. <ulink url="http://en.wikipedia.org/wiki/Second">Sekunde</ulink>
  326. </entry>
  327. <entry>
  328. Sekunde der Minute (0-59) bezeichnet die vergangenen Sekunden seit
  329. dem Beginn der Minute
  330. </entry>
  331. </row>
  332. <row>
  333. <entry>
  334. <ulink url="http://en.wikipedia.org/wiki/Millisecond">Millisekunde</ulink>
  335. </entry>
  336. <entry>
  337. Millisekunden bezeichnen Tausendstel einer Sekunde (0-999).
  338. <classname>Zend_Date</classname> unterstützt zwei zusätzliche
  339. Methoden für das Arbeiten mit Zeiteinheiten die kleiner als Sekunden
  340. sind. Normalerweise verwenden <classname>Zend_Date</classname>
  341. Instanzen eine Genauigkeit welche der von Millisekunden entspricht
  342. wie man durch <methodname>getFractionalPrecision()</methodname> sehen
  343. kann. Um die Genauigkeit zu Ändern kann
  344. <methodname>setFractionalPrecision($precision)</methodname> verwendet
  345. werden. Trotzdem ist die Genauigkeit praktisch auf Millisekunden
  346. begrezt da <classname>Zend_Date</classname> <ulink
  347. url="http://php.net/microtime">microtime()</ulink> dafür
  348. benutzt.
  349. </entry>
  350. </row>
  351. <row>
  352. <entry>
  353. <ulink url="http://en.wikipedia.org/wiki/Day">Tag</ulink>
  354. </entry>
  355. <entry>
  356. <constant>Zend_Date::DAY_SHORT</constant> wird von
  357. <varname>$date</varname> extrahiert wenn der
  358. <varname>$date</varname> Operand eine
  359. <classname>Zend_Date</classname> Instanz oder eine nummerische
  360. Zeichenkette ist. Sonst wird versucht den Tag laut den
  361. dokumentierten Konventionen für diese Konstanten zu extrahieren:
  362. <constant>Zend_Date::WEEKDAY_NARROW</constant>,
  363. <constant>Zend_Date::WEEKDAY_NAME</constant>,
  364. <constant>Zend_Date::WEEKDAY_SHORT</constant>,
  365. <constant>Zend_Date::WEEKDAY</constant> (Gregorianischer Kalender
  366. angenommen)
  367. </entry>
  368. </row>
  369. <row>
  370. <entry>
  371. <ulink url="http://en.wikipedia.org/wiki/Week">Woche</ulink>
  372. </entry>
  373. <entry>
  374. <constant>Zend_Date::WEEK</constant> wird von
  375. <varname>$date</varname> extrahiert wenn der
  376. <varname>$date</varname> Operand eine Instanz von
  377. <classname>Zend_Date</classname> oder eine nummerische Zeichenkette
  378. ist. Sonst wird eine Ausnahme geworfen. (Gregorianischer Kalender
  379. angenommen)
  380. </entry>
  381. </row>
  382. <row>
  383. <entry>Datum</entry>
  384. <entry>
  385. <constant>Zend_Date::DAY_MEDIUM</constant> wird aus
  386. <varname>$date</varname> extrahiert wenn der
  387. <varname>$date</varname> Operand eine Instanz von
  388. <classname>Zend_Date</classname> ist. Sonst wird versucht den
  389. <varname>$date</varname> String des Datums in ein
  390. <constant>Zend_Date::DATE_MEDIUM</constant> formatiertes Datum zu
  391. normalisieren. Das Format von
  392. <constant>Zend_Date::DATE_MEDIUM</constant> hängt vom Gebietsschema
  393. des Objektes ab.
  394. </entry>
  395. </row>
  396. <row>
  397. <entry>Wochentage</entry>
  398. <entry>
  399. Wochentage werden nummerisch dargestellt von 0 (für Sonntag) bis 6
  400. (für Samstag). <constant>Zend_Date::WEEKDAY_DIGIT</constant> wird
  401. aus <varname>$date</varname> extrahiert wenn der
  402. <varname>$date</varname> Operand eine Instanz von
  403. <classname>Zend_Date</classname> oder eine numerische Zeichenkette
  404. ist. Sonst wird versucht den Tag laut den dokumentierten
  405. Konventionen für diese Konstanten zu extrahieren:
  406. <constant>Zend_Date::WEEKDAY_NARROW</constant>,
  407. <constant>Zend_Date::WEEKDAY_NAME</constant>,
  408. <constant>Zend_Date::WEEKDAY_SHORT</constant>,
  409. <constant>Zend_Date::WEEKDAY</constant> (Gregorianischer Kalender
  410. angenommen)
  411. </entry>
  412. </row>
  413. <row>
  414. <entry>Tag des Jahres</entry>
  415. <entry>
  416. In <classname>Zend_Date</classname> wird der Tag des Jahres als
  417. Anzahl der Kalendertage dargestellt die seit dem Start des Jahres
  418. vergangen sind (0-365). Wie bei den anderen oben dargestellten
  419. Einheiten werden Bruchteile auf die nächste ganze Nummer abgerundet.
  420. (Gregorianischer Kalender angenommen)
  421. </entry>
  422. </row>
  423. <row>
  424. <entry>
  425. <ulink url="http://www.faqs.org/rfcs/rfc822.html">Arpa</ulink>
  426. </entry>
  427. <entry>
  428. Arpa Daten (bzw <acronym>RFC</acronym> 822 formatierte Daten) werden
  429. unterstützt. Die Ausgabe verwendet entweder "GMT" oder "Laut
  430. Gebietsschema unterschiedliche Stunden + Minuten" Format (siehe
  431. Sektion 5 von <acronym>RFC</acronym> 822). Vor
  432. <acronym>PHP</acronym> 5.2.2, zeigte die Verwendung der
  433. <constant>DATE_RFC822</constant> Konstante mit
  434. <acronym>PHP</acronym> date Funktionen hier und da
  435. <ulink url="http://bugs.php.net/bug.php?id=40308">fehlerhafte
  436. Ergebnisse</ulink>. Die Ergebnisse von
  437. <classname>Zend_Date</classname> sind korrekt. Beispiel:
  438. Mon, 31 Dec 06 23:59:59 <acronym>GMT</acronym>
  439. </entry>
  440. </row>
  441. <row>
  442. <entry>
  443. <ulink url="http://en.wikipedia.org/wiki/ISO_8601">Iso</ulink>
  444. </entry>
  445. <entry>
  446. Für die Ausgabe werden nur vollständige <acronym>ISO</acronym> 8601
  447. Daten unterstützt. Beispiel: 2009-02-14T00:31:30+01:00
  448. </entry>
  449. </row>
  450. </tbody>
  451. </tgroup>
  452. </table>
  453. </sect3>
  454. <sect3 id="id.date.basic.operations">
  455. <title>Liste der Datums-Operationen</title>
  456. <para>
  457. Die unten angeführten Basisoperationen können statt den bequemlichen Operationen für
  458. spezielle Datumsabschnitte verwendet werden. Die <link
  459. linkend="zend.date.constants.list">entsprechenden Konstanten</link> werden für
  460. den <varname>$part</varname> Parameter verwendet.
  461. </para>
  462. <table id="id.date.basic.operations.table">
  463. <title>Basis Operationen</title>
  464. <tgroup cols="2">
  465. <thead>
  466. <row>
  467. <entry>Basis Operationen</entry>
  468. <entry>Erklärung</entry>
  469. </row>
  470. </thead>
  471. <tbody>
  472. <row>
  473. <entry><methodname>get()</methodname></entry>
  474. <entry>
  475. <para>
  476. <emphasis><methodname>get($part = null, $locale =
  477. null)</methodname></emphasis>
  478. </para>
  479. <para>
  480. <methodname>get($part)</methodname> kann benutzt werden um einen
  481. Datumsabschnitt <varname>$part</varname> dieses Datumsobjektes
  482. welcher in ein Gebietsschema von <varname>$locale</varname>
  483. lokalisiert oder als formatierte Zeichenkette oder Integer
  484. gewünscht ist zurück zu bekommen. Durch Verwendung der BCMath
  485. Erweiterung können nummerische Zeichenkettten statt Integer für
  486. große Werte zurückgegeben werden.
  487. </para>
  488. <note>
  489. <title>Verhalten von get()</title>
  490. <para>
  491. Anders als <methodname>get()</methodname> geben die anderen
  492. get*() bequemlichen Methoden nur Instanzen von
  493. <classname>Zend_Date</classname> zurück welche nur das Datum
  494. oder die Zeit repräsentieren das ausgewählt oder berechnet
  495. wurde.
  496. </para>
  497. </note>
  498. </entry>
  499. </row>
  500. <row>
  501. <entry><methodname>set()</methodname></entry>
  502. <entry>
  503. <para>
  504. <emphasis><methodname>set($date, $part = null, $locale =
  505. null)</methodname></emphasis>
  506. </para>
  507. <para>
  508. Setzt den Abschnitt <varname>$part</varname> des aktuellen
  509. Objektes übereinstimmend mit dem Wert der für diesen Abschnitt
  510. in der Eingabe <varname>$date</varname> und im Gebietsschema
  511. <varname>$locale</varname> gefunden wurde.
  512. </para>
  513. </entry>
  514. </row>
  515. <row>
  516. <entry><methodname>add()</methodname></entry>
  517. <entry>
  518. <para>
  519. <emphasis><methodname>add($date, $part = null, $locale =
  520. null)</methodname></emphasis>
  521. </para>
  522. <para>
  523. Addiert den Abschnitt <varname>$part</varname> von
  524. <varname>$date</varname> welcher im Gebietsschema
  525. <varname>$locale</varname> geschrieben ist zum Datum des
  526. aktuellen Objektes.
  527. </para>
  528. </entry>
  529. </row>
  530. <row>
  531. <entry><methodname>sub()</methodname></entry>
  532. <entry>
  533. <para>
  534. <emphasis><methodname>sub($date, $part = null, $locale =
  535. null)</methodname></emphasis>
  536. </para>
  537. <para>
  538. Subtrahiert den Abschnitt <varname>$part</varname> von
  539. <varname>$date</varname> welcher im Gebietsschema
  540. <varname>$locale</varname> geschrieben ist vom Datum des
  541. aktuellen Objektes.
  542. </para>
  543. </entry>
  544. </row>
  545. <row>
  546. <entry><methodname>copyPart()</methodname></entry>
  547. <entry>
  548. <para>
  549. <emphasis><methodname>copyPart($part, $locale =
  550. null)</methodname></emphasis>
  551. </para>
  552. <para>
  553. Gibt ein geklontes Objekt zurück, wobei nur der gewünschte
  554. Abschnitt <varname>$part</varname> des Datumsobjektes kopiert
  555. wird, wobei im Klon das Gebietsschema von
  556. <varname>$locale</varname> gesetzt wird (wenn angegeben).
  557. </para>
  558. </entry>
  559. </row>
  560. <row>
  561. <entry><methodname>compare()</methodname></entry>
  562. <entry>
  563. <para>
  564. <emphasis><methodname>compare($date, $part = null, $locale =
  565. null)</methodname></emphasis>
  566. </para>
  567. <para>
  568. Vergleicht den Abschnitt <varname>$part</varname> des Datums
  569. <varname>$date</varname> mit dem Zeitpunkt des Objektes. Gibt 0
  570. zurück wenn sie gleich sind, 1 wenn wenn der Abschnitt dieses
  571. Objektes früher war als der Abschnitt von
  572. <varname>$date</varname> und andernfalls -1.
  573. </para>
  574. </entry>
  575. </row>
  576. </tbody>
  577. </tgroup>
  578. </table>
  579. </sect3>
  580. </sect2>
  581. <sect2 id="zend.date.others.comparison">
  582. <title>Vergleichen von Daten</title>
  583. <para>
  584. Die folgenden Basisoperationen haben keine vergleichbaren vereinfachten Methoden für
  585. Datumsabschnitt wie beschrieben unter <link linkend="zend.date.overview">Zend_Date API
  586. Overview</link>.
  587. </para>
  588. <table id="zend.date.others.comparison.table">
  589. <title>Methoden zum Vergleichen von Daten</title>
  590. <tgroup cols="2">
  591. <thead>
  592. <row>
  593. <entry>Methoden</entry>
  594. <entry>Beschreibung</entry>
  595. </row>
  596. </thead>
  597. <tbody>
  598. <row>
  599. <entry><methodname>equals()</methodname></entry>
  600. <entry>
  601. <para>
  602. <emphasis><methodname>equals($date, $part = null, $locale =
  603. null)</methodname></emphasis>
  604. </para>
  605. <para>
  606. Gibt <constant>TRUE</constant> zurück wenn der Abschnitt
  607. <varname>$part</varname> von <varname>$date</varname> der das
  608. Gebietsschema <varname>$locale</varname> hat, der gleiche ist wie
  609. der Abschnitt <varname>$part</varname> vom Datum des Objektes,
  610. andernfalls <constant>FALSE</constant>
  611. </para>
  612. </entry>
  613. </row>
  614. <row>
  615. <entry><methodname>isEarlier()</methodname></entry>
  616. <entry>
  617. <para>
  618. <emphasis><methodname>isEarlier($date, $part = null, $locale =
  619. null)</methodname></emphasis>
  620. </para>
  621. <para>
  622. Gibt <constant>TRUE</constant> zurück wenn der Abschnitt
  623. <varname>$part</varname> vom Datum des Objektes früher ist als der
  624. Abschnitt <varname>$part</varname> von <varname>$date</varname> der
  625. das Gebietsschema <varname>$locale</varname> hat
  626. </para>
  627. </entry>
  628. </row>
  629. <row>
  630. <entry><methodname>isLater()</methodname></entry>
  631. <entry>
  632. <para>
  633. <emphasis><methodname>isLater($date, $part = null, $locale =
  634. null)</methodname></emphasis>
  635. </para>
  636. <para>
  637. Gibt <constant>TRUE</constant> zurück wenn der Abschnitt
  638. <varname>$part</varname> vom Datum des Objektes später ist als der
  639. Abschnitt <varname>$part</varname> von <varname>$date</varname> der
  640. das Gebietsschema <varname>$locale</varname> hat
  641. </para>
  642. </entry>
  643. </row>
  644. <row>
  645. <entry><methodname>isToday()</methodname></entry>
  646. <entry>
  647. <para>
  648. <emphasis><methodname>isToday()</methodname></emphasis>
  649. </para>
  650. <para>
  651. Testet ob Jahr, Monat und Tag des heutigen Datums mit dem Datumswert
  652. des Objektes übereinstimmen, wenn die Zeitzone des Objektes
  653. verwendet wird.
  654. </para>
  655. </entry>
  656. </row>
  657. <row>
  658. <entry><methodname>isTomorrow()</methodname></entry>
  659. <entry>
  660. <para>
  661. <emphasis><methodname>isTomorrow()</methodname></emphasis>
  662. </para>
  663. <para>
  664. Testet ob Jahr, Monat und Tag des morgigen Datums mit dem Datumswert
  665. des Objektes übereinstimmen, wenn die Zeitzone des Objektes
  666. verwendet wird.
  667. </para>
  668. </entry>
  669. </row>
  670. <row>
  671. <entry><methodname>isYesterday()</methodname></entry>
  672. <entry>
  673. <para>
  674. <emphasis><methodname>isYesterday()</methodname></emphasis>
  675. </para>
  676. <para>
  677. Testet ob Jahr, Monat und Tag des gestrigen Datums mit dem
  678. Datumswert des Objektes übereinstimmen, wenn die Zeitzone des
  679. Objektes verwendet wird.
  680. </para>
  681. </entry>
  682. </row>
  683. <row>
  684. <entry><methodname>isLeapYear()</methodname></entry>
  685. <entry>
  686. <para>
  687. <emphasis><methodname>isLeapYear()</methodname></emphasis>
  688. </para>
  689. <para>
  690. <methodname>isLeapYear()</methodname> kann benutzt werden ob zu
  691. prüfen ob das aktuelle Objekt ein Schaltjahr ist. Sonst kann
  692. <methodname>Zend_Date::checkLeapYear($year)</methodname> benutzt
  693. werden um das Jahr <varname>$year</varname> zu prüfen, welches eine
  694. Zeichenkette, ein Integer oder eine Instanz von
  695. <classname>Zend_Date</classname> sein kann. Ist das Jahr ein
  696. Schaltjahr ?
  697. </para>
  698. </entry>
  699. </row>
  700. <row>
  701. <entry><methodname>isDate()</methodname></entry>
  702. <entry>
  703. <para>
  704. <emphasis><methodname>isDate($date, $format = null, $locale =
  705. null)</methodname></emphasis>
  706. </para>
  707. <para>
  708. Diese Methode prüft ob ein angegebenes Datum ein echtes Datum ist,
  709. und gibt <constant>TRUE</constant> zurück wenn alle Prüfungen in
  710. Ordnung waren. Sie arbeitet wie <acronym>PHP</acronym>'s
  711. <methodname>checkdate()</methodname> Funktion, kann aber auch
  712. lokalisierte Monatsnamen prüfen sowie Daten die den Bereich von
  713. <methodname>checkdate()</methodname> übersteigen
  714. </para>
  715. </entry>
  716. </row>
  717. </tbody>
  718. </tgroup>
  719. </table>
  720. </sect2>
  721. <sect2 id="zend.date.others.gettingparts">
  722. <title>Daten und Teile von Daten erhalten</title>
  723. <para>
  724. Verschiedene Methoden unterstützen das erhalten von Werten die auf eine
  725. <classname>Zend_Date</classname> Instanz bezug nehmen.
  726. </para>
  727. <table id="zend.date.others.gettingparts.table">
  728. <title>Ausgabemethoden von Daten</title>
  729. <tgroup cols="2">
  730. <thead>
  731. <row>
  732. <entry>Methode</entry>
  733. <entry>Erklärung</entry>
  734. </row>
  735. </thead>
  736. <tbody>
  737. <row>
  738. <entry><methodname>toString()</methodname></entry>
  739. <entry>
  740. <para>
  741. <emphasis><methodname>toString($format = null, $locale =
  742. null)</methodname></emphasis>
  743. </para>
  744. <para>
  745. Direkt aufzurufen oder über die magische Methode
  746. <methodname>__toString()</methodname>. Die
  747. <methodname>toString()</methodname> Methode formatiert automatisch
  748. den Wert des Datumsobjektes anhand der Konventionen des
  749. Gebietsschemas des Objektes, oder einem optional definierten
  750. Gebietsschema <varname>$locale</varname>. Für eine Liste von
  751. unterstützten Formatcodes kann hier nachgeschaut werden:
  752. <link linkend="zend.date.constants.selfdefinedformats">selbst
  753. definierte AUSGABE Formate mit ISO</link>.
  754. </para>
  755. </entry>
  756. </row>
  757. <row>
  758. <entry><methodname>toArray()</methodname></entry>
  759. <entry>
  760. <para>
  761. <emphasis><methodname>toArray()</methodname></emphasis>
  762. </para>
  763. <para>
  764. Gibt eine Array Representation des ausgewählten Datums anhand der
  765. Konventionen des Gebietsschemas zurück. Das zurückgegebene Array ist
  766. identisch zu <acronym>PHP</acronym>'s <ulink
  767. url="http://php.net/getdate">getdate()</ulink> Funktion und
  768. beinhaltet:
  769. </para>
  770. <itemizedlist>
  771. <listitem>
  772. <para>
  773. Tag als Zahl mit '<emphasis>day</emphasis>'
  774. (<constant>Zend_Date::DAY_SHORT</constant>)
  775. </para>
  776. </listitem>
  777. <listitem>
  778. <para>
  779. Monat als Zahl mit '<emphasis>month</emphasis>'
  780. (<constant>Zend_Date::MONTH_SHORT</constant>)
  781. </para>
  782. </listitem>
  783. <listitem>
  784. <para>
  785. Jahr als '<emphasis>year</emphasis>'
  786. (<constant>Zend_Date::YEAR</constant>)
  787. </para>
  788. </listitem>
  789. <listitem>
  790. <para>
  791. Stunde als '<emphasis>hour</emphasis>'
  792. (<constant>Zend_Date::HOUR_SHORT</constant>)
  793. </para>
  794. </listitem>
  795. <listitem>
  796. <para>
  797. Minute als '<emphasis>minute</emphasis>'
  798. (<constant>Zend_Date::MINUTE_SHORT</constant>)
  799. </para>
  800. </listitem>
  801. <listitem>
  802. <para>
  803. Sekunde als '<emphasis>second</emphasis>'
  804. (<constant>Zend_Date::SECOND_SHORT</constant>)
  805. </para>
  806. </listitem>
  807. <listitem>
  808. <para>
  809. Abgekürzte Zeitzone als '<emphasis>timezone</emphasis>'
  810. (<constant>Zend_Date::TIMEZONE</constant>)
  811. </para>
  812. </listitem>
  813. <listitem>
  814. <para>
  815. Unix Zeitpunkt als '<emphasis>timestamp</emphasis>'
  816. (<constant>Zend_Date::TIMESTAMP</constant>)
  817. </para>
  818. </listitem>
  819. <listitem>
  820. <para>
  821. Wochentag als Zahl mit '<emphasis>weekday</emphasis>'
  822. (<constant>Zend_Date::WEEKDAY_DIGIT</constant>)
  823. </para>
  824. </listitem>
  825. <listitem>
  826. <para>
  827. Tag des Jahres als '<emphasis>dayofyear</emphasis>'
  828. (<constant>Zend_Date::DAY_OF_YEAR</constant>)
  829. </para>
  830. </listitem>
  831. <listitem>
  832. <para>
  833. Woche als '<emphasis>week</emphasis>'
  834. (<constant>Zend_Date::WEEK</constant>)
  835. </para>
  836. </listitem>
  837. <listitem>
  838. <para>
  839. Abstand der Zeitzone zu <acronym>GMT</acronym> als
  840. '<emphasis>gmtsecs</emphasis>'
  841. (<constant>Zend_Date::GMT_SECS</constant>)
  842. </para>
  843. </listitem>
  844. </itemizedlist>
  845. </entry>
  846. </row>
  847. <row>
  848. <entry><methodname>toValue()</methodname></entry>
  849. <entry>
  850. <para>
  851. <emphasis><methodname>toValue($part = null)</methodname></emphasis>
  852. </para>
  853. <para>
  854. Gibt eine Integer Repräsentation des ausgewählten Datumsabschnittes
  855. <varname>$part</varname> zurück anhand der Konventionen des
  856. Gebietsschemas des Objektes. Gibt <constant>FALSE</constant> zurück
  857. wenn der Abschnitt <varname>$part</varname> ein nicht numerischer
  858. Wert ist, wie <constant>Zend_Date::MONTH_NAME_SHORT</constant>.
  859. </para>
  860. <note>
  861. <title>Grenzen von toValue()</title>
  862. <para>
  863. Diese Methode ruft <link
  864. linkend="id.date.basic.operations"><methodname>get()</methodname></link>
  865. auf und castet das Ergebnis einen <acronym>PHP</acronym> Integer
  866. Wert, welcher unerwartete Ergebnisse liefern wird, wenn
  867. <methodname>get()</methodname> eine numerische Zeichenkette
  868. zurückgibt die eine Zahl enthält welche zu groß für einen
  869. <acronym>PHP</acronym> Integer Wert auf Ihrem System ist.
  870. Stattdessen sollte <methodname>get()</methodname> benutzt
  871. werden.
  872. </para>
  873. </note>
  874. </entry>
  875. </row>
  876. <row>
  877. <entry>
  878. <link linkend="id.date.basic.operations">get()</link>
  879. </entry>
  880. <entry>
  881. <para>
  882. <emphasis><methodname>get($part = null, $locale =
  883. null)</methodname></emphasis>
  884. </para>
  885. <para>
  886. Diese Methode gibt den Abschnitt <varname>$part</varname> vom Datum des
  887. Objektes, welches mit dem Gebietsschema <varname>$locale</varname>
  888. lokalisiert wurde, als formatierten String oder Integer zurück. Für
  889. weitere Informationen hier weiterlesen:
  890. <link linkend="id.date.basic.operations">get()</link>.
  891. </para>
  892. </entry>
  893. </row>
  894. <row>
  895. <entry><methodname>now()</methodname></entry>
  896. <entry>
  897. <para>
  898. <emphasis><methodname>now($locale = null)</methodname></emphasis>
  899. </para>
  900. <para>
  901. Diese bequemliche Funktion ist identisch mit
  902. <command>new Zend_Date()</command>. Sie gibt das aktuelle Datum als
  903. <classname>Zend_Date</classname> Objekt zurück, welches das
  904. Gebietsschema <varname>$locale</varname> hat.
  905. </para>
  906. </entry>
  907. </row>
  908. </tbody>
  909. </tgroup>
  910. </table>
  911. </sect2>
  912. <sect2 id="zend.date.others.fractions">
  913. <title>Arbeiten mit Sekundenbruchteilen</title>
  914. <para>
  915. Viele Methoden unterstützen es, Werte relativ zu einer <classname>Zend_Date</classname>
  916. Instanz zu erhalten.
  917. </para>
  918. <table id="zend.date.others.fractions.table">
  919. <title>Methoden zur Datumsausgabe</title>
  920. <tgroup cols="2">
  921. <thead>
  922. <row>
  923. <entry>Methode</entry>
  924. <entry>Erklärung</entry>
  925. </row>
  926. </thead>
  927. <tbody>
  928. <row>
  929. <entry>
  930. <para>
  931. <emphasis><methodname>getFractionalPrecision()</methodname></emphasis>
  932. </para>
  933. </entry>
  934. <entry>Gibt die Genauigkeit des Sekundenbruchteils zurück</entry>
  935. </row>
  936. <row>
  937. <entry>
  938. <para>
  939. <emphasis><methodname>setFractionalPrecision()</methodname></emphasis>
  940. </para>
  941. </entry>
  942. <entry>Setzt die Genauigkeit des Sekundenbruchteils</entry>
  943. </row>
  944. </tbody>
  945. </tgroup>
  946. </table>
  947. </sect2>
  948. <sect2 id="zend.date.other.sun">
  949. <title>Sonnenaufgang / Sonnenuntergang</title>
  950. <para>
  951. Drei Methoden geben Zugriff auf geographisch lokalisierte Informationen über die Sonne
  952. was die Zeit für Sonnenaufgang und Sonnenuntergang beinhaltet.
  953. </para>
  954. <table id="zend.date.other.sun.table">
  955. <title>Gewöhliche Methoden</title>
  956. <tgroup cols="2">
  957. <thead>
  958. <row>
  959. <entry>Methode</entry>
  960. <entry>Erklärung</entry>
  961. </row>
  962. </thead>
  963. <tbody>
  964. <row>
  965. <entry>
  966. <para>
  967. <emphasis><methodname>getSunrise($location)</methodname></emphasis>
  968. </para>
  969. </entry>
  970. <entry>Gibt die Zeit des Sonnenaufgangs dieses Datums zurück</entry>
  971. </row>
  972. <row>
  973. <entry>
  974. <para>
  975. <emphasis><methodname>getSunset($location)</methodname></emphasis>
  976. </para>
  977. </entry>
  978. <entry>Gibt die Zeit des Sonnenuntergangs dieses Datums zurück</entry>
  979. </row>
  980. <row>
  981. <entry>
  982. <para>
  983. <emphasis><methodname>getSunInfo($location)</methodname></emphasis>
  984. </para>
  985. </entry>
  986. <entry>Gibt ein Array mit den Sonnendaten des Datums zurück</entry>
  987. </row>
  988. </tbody>
  989. </tgroup>
  990. </table>
  991. </sect2>
  992. </sect1>
  993. <!--
  994. vim:se ts=4 sw=4 et:
  995. -->