Difference between revisions of "How to use JDate/fr"

From Joomla! Documentation

(Created page with "=== Exemples ===")
Line 1: Line 1:
 
<noinclude><languages /></noinclude>
 
<noinclude><languages /></noinclude>
  
== Introduction ==
+
== Introduction ==  
JDate is a helper class, extended from PHP's DateTime class, which allows developers to handle date formatting more efficiently. The class allows developers to format dates for readable strings, MySQL interaction, UNIX timestamp calculation, and also provides helper methods for working in different timezones.
+
JDate est une classe d'assistance, étendue de la classe PHP DateTime, qui permet aux développeurs de gérer plus efficacement le format des dates. Cette classe permet aux développeurs de formater les dates pour les rendre lisibles dans les chaînes de caractères, des interactions MySQL, des calculs timestamp UNIX et fournit également des méthodes d'aide pour pouvoir travailler dans différents fuseaux horaires.
  
 
== Utilisation de JDate ==
 
== Utilisation de JDate ==

Revision as of 07:36, 21 January 2016

Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎français • ‎русский • ‎中文(台灣)‎

Introduction

JDate est une classe d'assistance, étendue de la classe PHP DateTime, qui permet aux développeurs de gérer plus efficacement le format des dates. Cette classe permet aux développeurs de formater les dates pour les rendre lisibles dans les chaînes de caractères, des interactions MySQL, des calculs timestamp UNIX et fournit également des méthodes d'aide pour pouvoir travailler dans différents fuseaux horaires.

Utilisation de JDate

Création d'une instance JDate

Toutes les méthodes d'aide pour les dates nécessitent une instance de la classe JDate. Pour commencer, vous devez en créer une. Un objet JDate peut être créé de deux façons. L'une est la méthode type native pour la simple création d'une nouvelle instance :

$date = new JDate(); // Creates a new JDate object equal to the current time.

Vous pouvez également créer une instance à l'aide de la méthode statique définie dans JDate :

$date = JDate::getInstance(); // Alias of 'new JDate();'

Il n'y a pas de différences entre ces deux méthodes puisque JDate::getInstance permet simplement de créer une nouvelle instance de JDate, exactement comme pour la première méthode indiquée.

De façon alternative, vous pouvez également récupérer la date courante (comme objet JDate) à partir de JApplication, en utilisant :

$date = JFactory::getDate();

Arguments

Le constructeur JDate (et la méthode statique getInstance) accepte deux paramètres en option : Une chaîne de format de date, et un fuseau horaire. Ne pas préciser une chaîne de date aura pour conséquence la création d'un objet JDate avec la date et l'heure courantes. Dans le même temps, ne pas préciser de fuseau horaire aura pour conséquence d'indiquer à l'objet JDate d'utiliser le réglage par défaut du fuseau horaire.

Le premier argument, s'il est utilisé, doit être une chaîne de caractères qui sera analysée par le constructeur natif PHP DateTime. Exemple :

$currentTime = new JDate('now'); // Current date and time
$tomorrowTime = new JDate('now +1 day'); // Current date and time, + 1 day.
$Plus1MonthTime = new JDate('now +1 month'); // Current date and time, + 1 month.
$Plus1YearTime = new JDate('now +1 year'); // Current date and time, + 1 year.
$Plus1YearAnd1MonthTime = new JDate('now +1 year +1 month'); // Current date and time, + 1 year and 1 month.
$PlusTimeToTime = new JDate('now +1 hour +30 minutes +3 seconds'); // Current date and time, + 1 hour, 30 minutes and 3 seconds
$PlusTimeToTime = new JDate('now -1 hour +30 minutes +3 seconds'); // Current date and time, + 1 hour, 30 minutes and 3 seconds
$CombinedTimeToTime = new JDate('now -1 hour -30 minutes 23 seconds'); // Current date and time, - 1 hour, +30 minutes and +23 seconds

$date = new JDate('2012-12-1 15:20:00'); // 3:20 PM, December 1st, 2012

Exemples

Temporary example of date formats

JFactory::getDate() gets a JDate object and we then do the JDate toFormat function

JFactory::getDate()->toFormat('%a %d %b %Y - %H:%M')

Dans l'API du CMS Joomla! 3.3 la fonction "toFormat" a été remplacée par "format". Ainsi, l'exemple ci-dessus devrait être :

JFactory::getDate()->format('%a %d %b %Y - %H:%M')

Function: toISO8601(boolean $local = false) : string

$date = new JDate('2016-01-01 02:00:00'); // A.M. time, in GMT timezone

We set function param before to "false" and after to "true" (user timezone is set to "America/New_York", we get:

$timezone = new DateTimeZone( JFactory::getUser()->getParam('timezone') );
$date->setTimezone($timezone);
echo $date->toISO8601(false); // 2016-01-01 T 02:00:00 +00:00
echo $date->toISO8601(true); // 2015-12-31 T 21:00:00-05:00 (local time in New York)