IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual

# IntlDateFormatter::create

# datefmt_create

# IntlDateFormatter::__construct

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__construct — Crée un formateur de date

### Description

Style orienté objet

public static IntlDateFormatter IntlDateFormatter::create ( string `$locale` , int `$datetype` , int `$timetype` [, mixed `$timezone` = NULL [, mixed `$calendar` = NULL [, string `$pattern` = '' ]]] )

Style orienté objet (constructeur)

public IntlDateFormatter::__construct() ( string `$locale` , int `$datetype` , int `$timetype` [, mixed `$timezone` = NULL [, mixed `$calendar` = NULL [, string `$pattern` = '' ]]] )

Style procédural

IntlDateFormatter datefmt_create ( string `$locale` , int `$datetype` , int `$timetype` [, mixed `$timezone` = NULL [, mixed `$calendar` = NULL [, string `$pattern` = '' ]]] )

Crée un formateur de date.

### Liste de paramètres

`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.

### Valeurs de retour

L'objet IntlDateFormatter créé, ou `FALSE` si une erreur survient.

### Historique

Version | Description
--- | ---

5.5.0/PECL 3.0.0

Un objet IntlCalendar est autorisé comme paramètre `calendar`.

Des objects de type IntlTimeZone et de type DateTimeZone sont autorisés comme paramètre `timezone`.

Les identifiants de fuseaux horaires invalides (incluant les chaînes vides) ne sont plus autorisés comme paramètre `timezone`.

Si `NULL` est fourni dans le paramètre `timezone`, l'identifiant du fuseau horaire fourni par le paramètre date_default_timezone_get() sera utilisé au lieu du fuseau horaire par défaut d'ICU.

### Exemples

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

### Voir aussi

- datefmt_format() - Formate la date et l'heure sous forme de chaîne
- 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

IntlDateFormatter
IntlDateFormatter::format
IntlDateFormatter
PHP Manual