Méthodes de base
Les sections qui suivent montrent l'utilisation de base de
Zend_Date 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.
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".
La date courante
Sans argument, construire un objet correspond à la date courante du système
d'exploitation telle que retournée par la fonction PHP time(), pour
obtenir un timestamp UNIX
pour l'objet. Prenez garde à la locale et au
fuseau horaire (timezone) par
défaut.
Créer la date couranteZend_Date : exemples
Les exemples sont le meilleur moyen de prendre en main
Zend_Date, particulièrement pour les personnes non habituées à
la notion de date dans d'autres langages ou frameworks.
Afficher une date
La date contenue dans l'objet Zend_Date est obtenue en
tant qu'entier ou chaîne de caractères localisée, grâce à la méthode
get(). Il y a des options disponibles, nous les détaillerons
ultérieurement.
get() - affiche une dateget();
]]>Spécifier une date
La méthode set() 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.
set() - affecte une dateset('13:00:00',Zend_Date::TIMES);
print $date->get(Zend_Date::W3C);
]]>Ajouter et soustraire des dates
Ajouter deux dates avec add() signifie souvent ajouter une date
réelle plus un timestamp artificiel représentant une partie de date, comme 12
heures par exemple. add() et sub() utilisent les mêmes
paramètres que set(), sur lesquels nous reviendrons plus tard.
add() - ajouter des datesadd('12:00:00', Zend_Date::TIMES);
echo "Date via get() = ", $date->get(Zend_Date::W3C), "\n";
// utilise __toString()
echo "Date via toString() = ", $date, "\n";
]]>Comparaison de dates
Toutes les méthodes basiques de Zend_Date 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 compare().
compare() - comparer des datescompare(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";
}
]]>
Pour demander une simple égalité, utilisez equals(), qui
retourne un booléen.
equals() - identifie une date ou partie de dateequals(10, Zend_Date::HOUR)) {
print "Il est 10 heures.";
} else {
print "Il n'est pas 10 heures.";
}
]]>