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

publicstaticIntlDateFormatter::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)

publicIntlDateFormatter::__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ãoDescrição
8.1.0

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

Exemplos

Exemplo #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";
?>

Exemplo #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";
?>

Exemplo #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

To Top