Programmer's Reference Guide
Table des matières
- 9.1. Introduction
- 9.2. Point de vue théorique
- 9.3. Méthodes de base
- 9.4. Zend_Date API Overview
- 9.5. Créer des dates
- 9.6. Constants for General Date Functions
- 9.7. Exemples concrets
Le composant Zend_Date fournit une API simple de manipulation des dates et des temps. Ses
méthodes acceptent un grand nombre de paramètres formatés, comme des parties de dates, et complètent bien le support
natif des dates de PHP.
Même si rester simple est un objectif, manipuler des dates et des temps localisés, les additionner, par
parties, les convertir ... mène vers une certaine complexité inévitable. Les dates et les temps sont souvent notés
de manière très différente selon la locale. Par exemple, certaines locales placent le mois en premier, d'autres
l'année. Pour plus d'information sur la gestion de la localisation et de la normalisation, voyez le manuel de Zend_Locale.
Zend_Date supporte aussi les noms abrégés des mois dans beaucoup de
langues.Zend_Locale facilite la localisation et la normalisation des mois localisés et des jours de
semaines, leur conversion vers des timestamps.
Avant toute manipulation de date, que ce soit par les fonctions PHP, ou par le Zend Framework, soyez sûrs
que votre fuseau horaire par défaut est défini. Configurez votre variable d'environnement TZ,
date.timezone dans le php.ini, ou utilisez date_default_timezone_set(). En PHP nous pouvons ajuster
les fonctions de date et temps pour fonctionner selon un certain fuseau horaire. Pour les options et la liste
des fuseaux, consultez La liste des
identifiants de fuseaux horaires.
Exemple 9.1. Spécifier un fuseau par défaut
<?php
date_default_timezone_set('America/Los_Angeles'); // timezone pour un américain en Californie
date_default_timezone_set('Europe/Berlin'); // timezone pour un allemand en Allemagne
Lorsque vous créez des instances de Zend_Date, leur fuseau sera
automatiquement mis à celui par défaut ! Ainsi, le paramètre de fuseau horaire prendre en compte le
DST si besoin, vous n'aurez donc pas besoin de le configurer.
Souvenez vous que les fuseaux UTC et GMT n'incluent pas la notion "d'heure d'hiver"(Daylight Saving Time, DST). Donc même si
vous dites à Zend_Date de prendre en compte le DST, il sera annulé pour les futures instances de
Zend_Date utilisant UTC ou GMT.
Zend_Date a les caractéristiques suivantes, qui étendent et complètent les fonctions de date
de PHP :
-
API simple
Zend_Datepropose une API simple, qui combine les meilleures fonctionnalités depuis 4 langages de programmation. Il est par exemple possible de comparer ou ajouter 2 dates. -
Internationalisé
Toutes les abréviations des noms des mois ou des jours sont traduits dans plus de 130 langues. Les méthodes supportent des entrées et sorties de dates utilisant ces noms localisés.
-
Timestamps infinis
La documentation de PHP 5.2 indique, "L'intervalle de validité des timestamps est du 13 Dec 1901 20:45:54 GMT au 19 Jan 2038 03:14:07 GMT",
Zend_Datesupporte un intervalle quasi illimité grâce à l'extension BCMath. Si l'extension BCMath n'est pas disponible, alors le support des timestamp sera réduit à la valeur maximale du type PHPfloatsupporté par le serveur. "La taille du float est dépendant de la plate-forme, un maximum de ~1.8e308 avec une précision d'environ 14 décimales est une valeur connue (64 bit IEEE format)." [ http://www.php.net/float ]. Aussi, des limitations dans le calcul des flottants, comme des arrondis non désirables, peuvent apparaître. Ces problèmes sont évités grâce à l'extension BCMath, si disponible. -
Support des dates ISO_8601
Le support complet de ISO_8601 est pris en charge. Même les données partiellement ISO_8601 seront identifiées correctement. Ces formats sont utiles pour le travail avec des bases de données. Par exemple MSSQL et MySQL les utilise mais diffèrent légèrement dans leur format, cependant ils sont supportés par
Zend_Dategrâce à la constante de spécification de format Zend_Date::ISO_8601. Si les chaînes des dates sont conformes à "Y/m/d" ou "Y-m-d H:i:s", selon les formats dedate()de PHP, utilisez le support deZend_Datepour le format ISO 8601. -
Calculer le sunrise et sunset
N'importe où dans la journée, les temps du sunrise (levé de soleil) et sunset (couché de soleil) peuvent être affichés.
Search the Manual
Components
Languages Available
Translation Status Reports
View the current status report of Zend Framework manual translations.
