| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- <?xml version="1.0" encoding="utf-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.date.introduction">
- <title>Introduction</title>
- <para>
- Le composant <classname>Zend_Date</classname> fournit une <acronym>API</acronym> 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 <acronym>PHP</acronym>.
- </para>
- <para>
- 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
- <link linkend="zend.locale.date.datesandtimes"><classname>Zend_Locale</classname></link>.
- </para>
- <para>
- <classname>Zend_Date</classname> supporte aussi les noms abrégés des mois dans
- beaucoup de langues.<classname>Zend_Locale</classname> facilite la localisation et la
- normalisation des mois localisés et des jours de semaines, leur conversion vers des
- timestamps.
- </para>
- <sect2 id="zend.date.setdefaulttimezone">
- <title>Définissez toujours un fuseau horaire par défaut</title>
- <para>
- Avant toute manipulation de date, que ce soit par les fonctions PHP, ou par Zend
- Framework, soyez sûrs que votre fuseau horaire par défaut est défini. Configurez votre
- variable d'environnement TZ, <code>date.timezone</code> dans le php.ini, ou utilisez
- <ulink url="http://php.net/date_default_timezone_set">
- date_default_timezone_set()</ulink>. 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
- <ulink url="http://unicode.org/cldr/data/diff/supplemental/territory_containment_un_m_49.html">
- La liste des identifiants de fuseaux horaires</ulink>.
- <example id="zend.date.setdefaulttimezone.example-1">
- <title>Spécifier un fuseau par défaut </title>
- <programlisting language="php"><![CDATA[
- // timezone pour un américain en Californie
- date_default_timezone_set('America/Los_Angeles');
- // timezone pour un allemand en Allemagne
- date_default_timezone_set('Europe/Berlin');
- ]]></programlisting>
- </example>
- <emphasis>Lorsque vous créez des instances de Zend_Date, leur
- fuseau sera automatiquement mis à celui par défaut !</emphasis> Ainsi, le
- paramètre de fuseau horaire prendre en compte le DST si besoin, vous n'aurez donc pas
- besoin de leconfigurer.
- </para>
- <para>
- Souvenez vous que les fuseaux <emphasis>UTC</emphasis> et <emphasis>GMT</emphasis>
- n'incluent pas la notion "d'heure d'hiver"(Daylight Saving
- Time, <acronym>DST</acronym>). Donc même si vous dites à <classname>Zend_Date</classname> de prendre en
- compte le <acronym>DST</acronym>, il sera annulé pour les futures instances de
- <classname>Zend_Date</classname> utilisant <acronym>UTC</acronym> ou <acronym>GMT</acronym>.
- </para>
- </sect2>
- <sect2 id="zend.date.why">
- <title>Pourquoi utiliser Zend_Date ?</title>
- <para>
- <classname>Zend_Date</classname> a les caractéristiques suivantes, qui étendent
- et complètent les fonctions de date de <acronym>PHP</acronym> :
- </para>
- <itemizedlist mark="opencircle">
- <listitem>
- <para>API simple</para>
- <para>
- <classname>Zend_Date</classname> propose une <acronym>API</acronym> simple, qui combine les
- meilleures fonctionnalités depuis 4 langages de programmation. Il est par
- exemple possible de comparer ou ajouter 2 dates.
- </para>
- </listitem>
- <listitem>
- <para>Internationalisé</para>
- <para>
- 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.
- </para>
- </listitem>
- <listitem>
- <para>Timestamps infinis</para>
- <para>
- La documentation de <acronym>PHP</acronym> 5.2 indique, "L'intervalle de validité des
- timestamps est du 13 Dec 1901 20:45:54 <acronym>GMT</acronym> au 19 Jan 2038 03:14:07 <acronym>GMT</acronym>",
- <classname>Zend_Date</classname> supporte 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 <acronym>PHP</acronym>
- <code>float</code> supporté 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)." [
- <ulink url="http://www.php.net/float">http://www.php.net/float</ulink>]. 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.
- </para>
- </listitem>
- <listitem>
- <para>Support des dates ISO_8601</para>
- <para>
- 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
- <ulink url="http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html">
- MySQL</ulink>les utilise mais diffèrent légèrement dans leur format, cependant
- ils sont supportés par <classname>Zend_Date</classname> grâce à la constante de
- spécification de format
- <link linkend="zend.date.constants.list">Zend_Date::ISO_8601</link>. Si les
- chaînes des dates sont conformes à "Y/m/d" ou "Y-m-d H:i:s", selon les formats
- de <methodname>date()</methodname> de <acronym>PHP</acronym>, utilisez le support de
- <classname>Zend_Date</classname> pour le format <acronym>ISO</acronym> 8601.
- </para>
- </listitem>
- <listitem>
- <para>Calculer le sunrise et sunset</para>
- <para>
- N'importe où dans la journée, les temps du sunrise (levé de soleil) et
- sunset (couché de soleil) peuvent être affichés.
- </para>
- </listitem>
- </itemizedlist>
- </sect2>
- </sect1>
|