Zend_Date-Basic.xml 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.date.basic">
  5. <title>Méthodes de base</title>
  6. <para>
  7. Les sections qui suivent montrent l'utilisation de base de
  8. <classname>Zend_Date</classname> au travers d'exemples. Dans ce manuel, une "date"
  9. représente toujours une date calendaire et un temps, même lorsque cela n'est pas mentionné
  10. spécifiquement. La partie (date calendaire, ou temps) non spécifiée prend la valeur par
  11. défaut "zéro". Ainsi additionner une date ayant une date calendaire mais pas de temps, à un
  12. temps "12 heures" n'ayant pas de date calendaire, résultera en la combinaison des
  13. deux&#160;: la date calendaire connue avec une partie temps de 12 heures, soit midi.
  14. </para>
  15. <para>
  16. Paramétrer une date sans temps implique un temps par défaut de 00:00:00. Inversement
  17. paramétrer un temps mais sans date calendaire lui verra affectée la valeur de 01.01.1970
  18. plus le temps. La plupart des ordinateurs entendent la date "nulle" comme étant la première
  19. seconde de l'année 1970. La notion de timestamp est un nombre de secondes depuis cette date
  20. dite "EPOCH".
  21. </para>
  22. <sect2 id="zend.date.basic.creation">
  23. <title>La date courante</title>
  24. <para>
  25. Sans argument, construire un objet correspond à la date courante du système
  26. d'exploitation telle que retournée par la fonction <acronym>PHP</acronym> <methodname>time()</methodname>, pour
  27. obtenir un <ulink url="http://en.wikipedia.org/wiki/Unix_Time">timestamp UNIX</ulink>
  28. pour l'objet. Prenez garde à la locale et au
  29. <link linkend="zend.date.setdefaulttimezone">fuseau horaire (timezone) par
  30. défaut</link>.
  31. </para>
  32. <example id="zend.date.basic.creation.example-1">
  33. <title>Créer la date courante</title>
  34. <programlisting language="php"><![CDATA[
  35. $date = new Zend_Date();
  36. // Affiche le timestamp actuel
  37. print $date;
  38. ]]></programlisting>
  39. </example>
  40. </sect2>
  41. <sect2 id="zend.date.basic.functions">
  42. <title>Zend_Date&#160;: exemples</title>
  43. <para>
  44. Les exemples sont le meilleur moyen de prendre en main
  45. <classname>Zend_Date</classname>, particulièrement pour les personnes non habituées à
  46. la notion de date dans d'autres langages ou frameworks.
  47. </para>
  48. <sect3 id="zend.date.simple.functions.get">
  49. <title>Afficher une date</title>
  50. <para>
  51. La date contenue dans l'objet <classname>Zend_Date</classname> est obtenue en
  52. tant qu'entier ou chaîne de caractères localisée, grâce à la méthode
  53. <methodname>get()</methodname>. Il y a des options disponibles, nous les détaillerons
  54. ultérieurement.
  55. </para>
  56. <example id="zend.date.simple.functions.get.example-1">
  57. <title>get() - affiche une date</title>
  58. <programlisting language="php"><![CDATA[
  59. $date = new Zend_Date();
  60. // Affiche la date désirée
  61. print $date->get();
  62. ]]></programlisting>
  63. </example>
  64. </sect3>
  65. <sect3 id="zend.date.simple.functions.set">
  66. <title>Spécifier une date</title>
  67. <para>
  68. La méthode <methodname>set()</methodname> modifie la date dans l'objet et retourne la
  69. date affectée comme un timestamp (et non un objet). Là aussi des options sont
  70. disponibles, nous y reviendrons.
  71. </para>
  72. <example id="zend.date.simple.functions.set.example-1">
  73. <title>set() - affecte une date</title>
  74. <programlisting language="php"><![CDATA[
  75. $date = new Zend_Date();
  76. // Affecter une nouvelle date
  77. $date->set('13:00:00',Zend_Date::TIMES);
  78. print $date->get(Zend_Date::W3C);
  79. ]]></programlisting>
  80. </example>
  81. </sect3>
  82. <sect3 id="zend.date.simple.functions.add">
  83. <title>Ajouter et soustraire des dates</title>
  84. <para>
  85. Ajouter deux dates avec <methodname>add()</methodname> signifie souvent ajouter une date
  86. réelle plus un timestamp artificiel représentant une partie de date, comme 12
  87. heures par exemple. <methodname>add()</methodname> et <methodname>sub()</methodname> utilisent les mêmes
  88. paramètres que <methodname>set()</methodname>, sur lesquels nous reviendrons plus tard.
  89. </para>
  90. <example id="zend.date.simple.functions.add.example-1">
  91. <title>add() - ajouter des dates</title>
  92. <programlisting language="php"><![CDATA[
  93. $date = new Zend_Date();
  94. // modifie $date en ajoutant 12 heures
  95. $date->add('12:00:00', Zend_Date::TIMES);
  96. echo "Date via get() = ", $date->get(Zend_Date::W3C), "\n";
  97. // utilise __toString()
  98. echo "Date via toString() = ", $date, "\n";
  99. ]]></programlisting>
  100. </example>
  101. </sect3>
  102. <sect3 id="zend.date.simple.functions.compare">
  103. <title>Comparaison de dates</title>
  104. <para>
  105. Toutes les méthodes basiques de <classname>Zend_Date</classname> peuvent
  106. opérer sur des dates complètes, ou des parties de dates. Par exemple, comparer la
  107. date dans l'objet à une certaines valeur de minutes, peut être effectué grâce à la
  108. méthode <methodname>compare()</methodname>.
  109. </para>
  110. <example id="zend.date.simple.functions.compare.example-1">
  111. <title>compare() - comparer des dates</title>
  112. <programlisting language="php"><![CDATA[
  113. $date = new Zend_Date(); // date actuelle
  114. // Comparaison des 2 temps
  115. if ($date->compare(10, Zend_Date::MINUTE) == -1) {
  116. print "Cette heure n'a pas encore dépassé 10 minutes";
  117. } else {
  118. print "Cette heure a au plus dépassé les 10 minutes";
  119. }
  120. ]]></programlisting>
  121. </example>
  122. <para>
  123. Pour demander une simple égalité, utilisez <methodname>equals()</methodname>, qui
  124. retourne un booléen.
  125. </para>
  126. <example id="zend.date.simple.functions.compare.example-2">
  127. <title>equals() - identifie une date ou partie de date</title>
  128. <programlisting language="php"><![CDATA[
  129. $date = new Zend_Date(); // date actuelle
  130. // Identification, demande d'égalité
  131. if ($date->equals(10, Zend_Date::HOUR)) {
  132. print "Il est 10 heures.";
  133. } else {
  134. print "Il n'est pas 10 heures.";
  135. }
  136. ]]></programlisting>
  137. </example>
  138. </sect3>
  139. </sect2>
  140. </sect1>