IntlDateFormatter::format
datefmt_format
(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::format -- datefmt_format — Formate la date et l'heure sous forme de chaîne
Description
Style orienté objet
Style procédural
Formate l'heure sous forme de chaîne.
Liste de paramètres
-
fmt
-
La ressource de formateur IntlDateFormatter.
-
value
-
La valeur à formater. Ce peut être un objet DateTimeInterface, un objet IntlCalendar, un type numeric représentant un (peut être fractionné) nombre de secondes depuis l'époque ou un array au format de sortie de la fonction localtime().
Si un objet DateTime ou un objet IntlCalendar est passé, son décalage horaire ne sera pas considéré. L'objet devra être formaté en utilisant le décalage horaire configuré pour ce formateur. Si vous souhaitez utiliser le décalage horaire de l'objet à formater, la méthode IntlDateFormatter::setTimeZone() devra être appelée avant le décalage horaire de l'objet. Vous pouvez aussi utiliser la méthode IntlDateFormatter::formatObject() pour obtenir le même résultat.
Historique
Version | Description |
---|---|
7.1.5 |
Ajout du support pour fournir un objet générique
DateTimeInterface pour le paramètre
value . Anciennement, seulement les objets valide
DateTime étaient supprotés.
|
5.5.0/PECL 3.0.0 |
Il est maintenant possible de passer un objet
IntlCalendar comme valeur du paramètre
value .
|
5.3.4 |
Le support des objets DateTime dans le paramètre
value a été ajouté.
|
Exemples
Exemple #1 Exemple avec datefmt_format()
<?php
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le premier format affiché est ' . datefmt_format($fmt, 0);
$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le deuxième format affiché est ' . datefmt_format($fmt, 0);
$fmt = datefmt_create(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'MM/dd/yyyy'
);
echo 'Le premier format est affiché avec le modèle ' . datefmt_format($fmt, 0);
$fmt = datefmt_create(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'MM/dd/yyyy'
);
echo "Le deuxième format est affiché avec le modèle " . datefmt_format($fmt, 0);
?>
Exemple #2 Exemple orienté objet
<?php
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le premier format affiché est ' . $fmt->format(0);
$fmt = new IntlDateFormatter(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN
);
echo 'Le deuxième format affiché est ' . $fmt->format(0);
$fmt = new IntlDateFormatter(
'en_US',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'MM/dd/yyyy'
);
echo 'Le premier format est affiché avec le modèle ' . $fmt->format(0);
$fmt = new IntlDateFormatter(
'de-DE',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'America/Los_Angeles',
IntlDateFormatter::GREGORIAN,
'MM/dd/yyyy'
);
echo 'Le deuxième format est affiché avec le modèle ' . $fmt->format(0);
?>
L'exemple ci-dessus va afficher :
Le premier format affiché est Wednesday, December 31, 1969 4:00:00 PM PT Le deuxième format affiché est Mittwoch, 31. Dezember 1969 16:00 Uhr GMT-08:00 Le premier format est affiché avec le modèle : 12/31/1969 Le deuxième format est affiché avec le modèle : 12/31/1969
Exemple #3 Exemple avec un objet IntlCalendar
<?php
$tz = reset(iterator_to_array(IntlTimeZone::createEnumeration('FR')));
$formatter = IntlDateFormatter::create(
'fr_FR',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
$tz,
IntlDateFormatter::GREGORIAN
);
$cal = IntlCalendar::createInstance($tz, '@calendar=islamic-civil');
$cal->set(IntlCalendar::FIELD_MONTH, 8); //9ème mois, Ramadan
$cal->set(IntlCalendar::FIELD_DAY_OF_MONTH, 1); //1er jour
$cal->clear(IntlCalendar::FIELD_HOUR_OF_DAY);
$cal->clear(IntlCalendar::FIELD_MINUTE);
$cal->clear(IntlCalendar::FIELD_SECOND);
$cal->clear(IntlCalendar::FIELD_MILLISECOND);
echo "Dans l'année Islamique, le Ramadan commence le :\n\t",
$formatter->format($cal), "\n";
//C'est le décalage horaire du formater qui est utilisé ici :
$formatter->setTimeZone('Asia/Tokyo');
echo "Après modification du décalage horaire :\n\t",
$formatter->format($cal), "\n";
L'exemple ci-dessus va afficher :
Dans l'année Islamique, le Ramadan commence le : mardi 9 juillet 2013 19:00:00 heure avancée d’Europe centrale Après modification du décalage horaire : mercredi 10 juillet 2013 02:00:00 heure normale du Japon
Voir aussi
- datefmt_create() - Crée un formateur de date
- datefmt_parse() - Analyse une chaîne vers un timestamp
- datefmt_get_error_code() - Lit le code d'erreur de la dernière opération
- datefmt_get_error_message() - Lit le dernier message d'erreur
- datefmt_format_object() - Formate un objet
Version en cache
22/11/2024 00:04:53 Cette version de la page est en cache (à la date du 22/11/2024 00:04:53) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-intldateformatter.format.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.