DateTimeInterface::formatDateTimeImmutable::formatDateTime::formatdate_formatRetorna a data formatada de acordo com um formato informado
&reftitle.description;
&style.oop;publicstringDateTimeInterface::formatstringformatpublicstringDateTimeImmutable::formatstringformatpublicstringDateTime::formatstringformat&style.procedural;stringdate_formatDateTimeInterfaceobjectstringformat
Retorna a data formatada de acordo com um formato informado.
&reftitle.parameters;
&date.datetime.description;
format
O formato da string de data resultante. Veja abaixo as
opções de formatação. Existem também várias
constantes de data predefinidas
que podem ser usadas, por exemplo, DATE_RSS
contém a string de formatação 'D, d M Y H:i:s'.
Os seguintes caracteres são reconhecidos na
string do parâmetro formatCaractere em formatDescriçãoExemplo de valores retornadosDia------dDia do mês, 2 digits com zeros à esquerda01 a 31DUma representação textual de um dia, três letrasMon a SunjDia do mês sem zeros à esquerda1 a 31l (lowercase 'L')Uma representação textual completa do dia da semanaSunday a SaturdayNRepresentação numérica ISO 8601 do dia da semana1 (para segunda-feira) a 7 (para domingo)SSufixo ordinal inglês para o dia do mês, 2 caracteresst, nd, rd ou
th. Funciona bem com jwRepresentação numérica do dia da semana0 (para domingo) a 6 (para sábado)zO dia do ano (começando em 0)0 a 365Semana------WNúmero da semana do mês ISO 8601, semanas começando na segunda-feiraExemplo: 42 (a 42ª semana no ano)Mês------FUma representação textual completa do mês, como January ou MarchJanuary a DecembermRepresentação numérica de um mês, com zeros à esquerda01 a 12MUma representação textual curta de um mês, três letrasJan a DecnRepresentação numérica de um mês, sem zeros à esquerda1 a 12tNúmero de dias em determinado mês28 a 31Ano------LSe é um ano bissexto1 se for um ano bissexto, 0 caso contrário.oAno de numeração da semana ISO 8601. Tem o mesmo valor que
Y, exceto que se o número da semana ISO
(W) pertencer ao ano anterior ou seguinte, esse ano
será usado.Exemplos: 1999 ou 2003XUma representação numérica completa expandida de um ano, pelo menos 4 dígitos,
com - para anos AEC, e +
para anos EC.Exemplos: -0055, +0787,
+1999, +10191xUma representação numérica completa expandida se necessário, ou uma
representação numérica completa padrão se possível (como
Y). Pelo menos quatro dígitos. Anos AEC são prefixados
com um -. Anos além de (e incluindo)
10000 são prefixados com um
+.Exemplos: -0055, 0787,
1999, +10191YUma representação numérica completa de um ano, pelo menos 4 dígitos,
com - para anos AEC.Exemplos: -0055, 0787,
1999, 2003,
10191yUma representação de dois digitos do anoExemplos: 99 ou 03Hora------aAnte meridiem e Post meridiem em letras minúsculasam ou pmAAnte meridiem e Post meridiem em letras maiúsculasAM ou PMBInternet Time da Swatch000 a 999gFormato de 12 horas de uma hora sem zeros à esquerda1 a 12GFormato de 24 horas de uma hora sem zeros à esquerda0 a 23hFormato de 12 horas de uma hora com zeros à esquerda01 a 12HFormato de 24 horas de uma hora com zeros à esquerda00 a 23iMinutos com zeros à esquerda00 to 59sSegundos com zeros à esquerda00 a 59u
Microssegundos. Note que
date sempre irá gerar
000000 uma vez que leva um parâmetro int,
enquanto DateTimeInterface::format
suporta microssegundos se um objeto do tipo
DateTimeInterface foi criado com microssegundos.
Exemplo: 654321v
Milissegundos. A mesma nota se aplica como no
u.
Exemplo: 654Fuso horário------eIdentificador do fuso horárioExemplos: UTC, GMT, Atlantic/AzoresI (i maiúsculo)Se a data está ou não no horário de verão1 se está no horário de verão, 0 caso contrário.ODiferença para o horário de Greenwich (GMT) sem dois pontos entre horas e minutosExample: +0200PDiferença para o horário de Greenwich (GMT) com dois pontos entre horas e minutosExemplo: +02:00p
O mesmo que P, mas retorna Z em vez de +00:00
(disponível a partir do PHP 8.0.0)
Exemplo: Z ou +02:00TAbreviação do fuso horário, se conhecido; ou o deslocamento GMT caso contrário.Exemplos: EST, MDT, +05ZDeslocamento do fuso horário em segundos. O deslocamento para fusos a oeste de UTC é sempre
negativo, e para aqueles a leste de UTC é sempre positivo.-43200 a 50400Data/Horário completos------cData ISO 8601. Compatível somente com o formato não expandido (até o ano 9999). Datas posteriores resultarão em string inválida. Para datas posteriores e formato expandido, consulte x e X.2004-02-12T15:19:21+00:00rData formatada RFC 2822/RFC 5322Exemplo: Thu, 21 Dec 2000 16:01:07 +0200USegundos desde a Época Unix (1 de janeiro de 1970 00:00:00 GMT)Veja também time
Caracteres não reconhecidos na string de formatação serão impressos
como estão. O formato Z sempre retornará
0 ao usar gmdate.
Uma vez que esta função só aceita timestamps int, o caractere de formato
u só é útil ao usar a função
date_format com timestamps baseados no usuário
criados com date_create.
&reftitle.returnvalues;
Retorna a data formatada em caso de sucesso.
&reftitle.changelog;
&Version;&Description;8.2.0
Os caracteres de formatação X e x
foram adicionados.
8.0.0
O caractere de formatação p foi adicionado.
&reftitle.examples;
Exemplo de DateTimeInterface::format&style.oop;
format('Y-m-d H:i:s');
?>
]]>
&example.outputs;
&style.procedural;
]]>
&example.outputs;
Mais exemplos
format('l'), "\n";
// Imprime algo como: Wednesday 19th of October 2022 08:40:48 AM
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
/* usa as constantes no parâmetro format */
// Imprime algo como: Wed, 19 Oct 2022 08:40:48 +0000
echo $date->format(DateTimeInterface::RFC2822), "\n";
?>
]]>
Pode-se evitar que um caractere reconhecido na string de formação seja
expandido escapando-o com uma barra invertida antes. Se o caractere com
uma barra invertida já for uma sequência especial, pode-se escapar também
a barra invertida.
Escapando caracteres ao formatar
format('l \t\h\e jS');
?>
]]>
Para formatar datas em outras línguas,
IntlDateFormatter::format
pode ser usado em vez do DateTimeInterface::format.
&reftitle.notes;
Este método não utiliza configurações baseadas no idioma. Toda a saída será em Inglês.
&reftitle.seealso;
IntlDateFormatter::format