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