(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crée un formateur de date
Style orienté objet
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullStyle orienté objet (constructeur)
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullStyle procédural
$locale,$dateType = IntlDateFormatter::FULL,$timeType = IntlDateFormatter::FULL,$timezone = null,$calendar = null,$pattern = nullCrée un formateur de date.
locale
La locale à utiliser pour formater et analyser ou null
pour utiliser la valeur spécifiée dans la configuration ini intl.default_locale.
dateType
Le type de date à utiliser (none,
short, medium,
long, full).
C'est l'une des
constantes IntlDateFormatter.
timeType
Format de l'heure déterminé par l'une des
constantes d'IntlDateFormatter.
La valeur par défaut est IntlDateFormatter::FULL.
timezone
L'identifiant du fuseau horaire. Par défaut, (ce sera également la valeur
par défaut qui sera utilisée si null est fourni) ce sera celui retourné
par la fonction date_default_timezone_get() ou, si applicable,
celui de l'objet IntlCalendar passé au paramètre
calendar.Cet identifiant doit être un identifiant
valide dans la base de données ICU, ou un identifiant représentant
une possible explicite, comme GMT-05:30.
Ce paramètre peut aussi être un objet IntlTimeZone ou un objet DateTimeZone.
calendar
Calendrier à utiliser pour le formatage ou l'analyse. La valeur
par défaut est null, ce qui correspond à la constante
IntlDateFormatter::GREGORIAN. Peut être une
des constantes
de calendrier IntlDateFormatter ou un IntlCalendar.
Tout objet IntlCalendar passé sera clôné ; il ne
sera pas modifié par IntlDateFormatter.
Il déterminera le type de calendrier utilisé (grégorien, islamique, persien, etc.)
et si null est fourni dans le paramètre timezone,
le fuseau horaire sera également utilisé.
patternLe modèle à utiliser pour le formatage ou l'analyse. Les modèles disponibles sont documentés sur » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.
L'objet IntlDateFormatter créé, ou null si une erreur
survient.
Une ValueError est levée si
locale est invalide.
| Version | Description |
|---|---|
| 8.4.0 |
Une ValueError est levée si
locale est invalide.
|
| 8.1.0 |
Les paramètres |
Exemple #1 Exemple avec datefmt_create(), procédural
<?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 avec datefmt_create(), POO
<?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);
?>Exemple #3 Exemple de gestion de locale invalide
<?php
try {
$fmt = new IntlDateFormatter(
'locale_invalide',
IntlDateFormatter::FULL,
IntlDateFormatter::FULL,
'je_ne_sais_pas',
IntlDateFormatter::GREGORIAN,
);
} catch (\Error $e) {
// ...
}
?>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