IntlDateFormatter::create

datefmt_create

IntlDateFormatter::__construct

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

IntlDateFormatter::create -- datefmt_create -- IntlDateFormatter::__constructCria um formatador de data

Descrição

Estilo orientado a objetos

public static IntlDateFormatter::create(
    ?string $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZone|DateTimeZone|string|null $timezone = null,
    IntlCalendar|int|null $calendar = null,
    ?string $pattern = null
): ?IntlDateFormatter

Estilo orientado a objetos (construtor)

public IntlDateFormatter::__construct(
    ?string $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZone|DateTimeZone|string|null $timezone = null,
    IntlCalendar|int|null $calendar = null,
    ?string $pattern = null
)

Estilo procedural

datefmt_create(
    ?string $locale,
    int $dateType = IntlDateFormatter::FULL,
    int $timeType = IntlDateFormatter::FULL,
    IntlTimeZone|DateTimeZone|string|null $timezone = null,
    IntlCalendar|int|null $calendar = null,
    ?string $pattern = null
): ?IntlDateFormatter

Cria um formatador de data.

Parâmetros

locale

Localidade a ser utilizada ao formatar ou interpretar, ou null para utilizar o valor especificado na configuração ini intl.default_locale.

dateType

Formato da data determinado por uma das constantes IntlDateFormatter. O valor padrão é IntlDateFormatter::FULL.

timeType

Formato do horário determinado por uma das constantes IntlDateFormatter. O valor padrão é IntlDateFormatter::FULL.

timezone

ID do fuso horário. O padrão (que também é usado se null for fornecido) é o retornado por date_default_timezone_get() ou, se aplicável, o do objeto IntlCalendar passado para o parâmetro calendar. Este ID precisa ser um identificador válido no banco de dados da ICU ou um ID representando um deslocamento específico, como em GMT-05:30.

Este parâmetro tammbém pode ser um objeto IntlTimeZone ou DateTimeZone.

calendar

Calendário a ser utilizado para formatação ou interpretação. O valor padrão é null, que corresponde a IntlDateFormatter::GREGORIAN. Pode ser uma das constantes de calendário IntlDateFormatter ou um objeto IntlCalendar. Qualquer objeto IntlCalendar passado será clonado; ele não será alterado por IntlDateFormatter. Este parâmetro determinará o tipo de calendário utilizado (gregoriano, islâmico, persa, etc.) e, se null for fornecido para o parâmetro timezone, também definirá o fuso horário utilizado.

pattern

Modelo opcional a ser utilizado ao formatar ou interpretar. Modelos possíveis estão documentados em » https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

Valor Retornado

O objeto IntlDateFormatter criado ou null em caso de falha.

Registro de Alterações

Versão Descrição
8.1.0

Parêmatros dateType e timeType agora são opcionais.

Exemplos

Example #1 Exemplo de datefmt_create()

<?php
$fmt = datefmt_create( "pt_BR" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Sao_Paulo', IntlDateFormatter::GREGORIAN  );
echo "Primeira saída formatada é ".datefmt_format( $fmt , 0)."\n";
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  );
echo "Segunda saída formatada é ".datefmt_format( $fmt , 0)."\n";

$fmt = datefmt_create( "pt_BR" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Primeira saída formatada com modelo é ".datefmt_format( $fmt , 0)."\n";
$fmt = datefmt_create( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Segunda saída formatada com modelo é ".datefmt_format( $fmt , 0)."\n";
?>

Example #2 Exemplo OO

<?php
$fmt = new IntlDateFormatter( "pt_BR" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  );
echo "Primeira saída formatada é ".$fmt->format(0)."\n";
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
    'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  );
echo "Segunda saída formatada é ".$fmt->format(0)."\n";

$fmt = new IntlDateFormatter( "pt_BR" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
     'America/Sao_Paulo',IntlDateFormatter::GREGORIAN  ,"MM/dd/yyyy");
echo "Primeira saída formatada com modelo é ".$fmt->format(0)."\n";
$fmt = new IntlDateFormatter( "de-DE" ,IntlDateFormatter::FULL, IntlDateFormatter::FULL,
      'America/Sao_Paulo',IntlDateFormatter::GREGORIAN , "MM/dd/yyyy");
echo "Segunda saída formatada com modelo é ".$fmt->format(0)."\n";
?>

Example #3 Exemplo de manipulação de localidade inválida

<?php
try {
    $fmt = new IntlDateFormatter(
        'invalid_locale',
        IntlDateFormatter::FULL,
        IntlDateFormatter::FULL,
        'dunno',
        IntlDateFormatter::GREGORIAN,
    );
} catch (\Error $e) {
    // ...
}
?>

O exemplo acima produzirá:

Primeira saída formatada é quarta-feira, 31 de dezembro de 1969 21:00:00 Horário Padrão de Brasília
Segunda saída formatada é Mittwoch, 31. Dezember 1969 um 21:00:00 Brasília-Normalzeit
Primeira saída formatada com modelo é 12/31/1969
Segunda saída formatada com modelo é 12/31/1969

Veja Também