(PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0)
IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crée un formateur de date
Style orienté objet
$locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] )Style orienté objet (constructeur)
$locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] )Style procédural
$locale
, int $datetype
, int $timetype
[, mixed $timezone
= NULL
[, mixed $calendar
= NULL
[, string $pattern
= ""
]]] )Cré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.
Il peut aussi valoir NULL
, auquel cas, le type de date par défaut d'ICU sera
utilisé.
timetype
Le type d'heure à utiliser (none
,
short
, medium
,
long
, full
).
C'est l'une des
constantes IntlDateFormatter.
Il peut aussi valoir NULL
, auquel cas, le type d'heure par défaut d'ICU sera
utilisé.
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é.
pattern
Le modèle à utiliser pour le formatage ou l'analyse. Les modèles disponibles sont documentés sur » http://userguide.icu-project.org/formatparse/datetime.
L'objet IntlDateFormatter créé, ou FALSE
si une erreur
survient.
Version | Description |
---|---|
5.5.0/PECL 3.0.0 |
Un objet IntlCalendar est autorisé comme paramètre
Des objects de type IntlTimeZone et de type
DateTimeZone sont autorisés comme paramètre
Les identifiants de fuseaux horaires invalides (incluant les chaînes vides)
ne sont plus autorisés comme paramètre
Si |
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);
?>
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