Como fazer data em português no PHP? (função date)
Neste artigo veremos como fazer uma data em português no PHP – utilizando a função strftime ou DateTime para atingir nosso objetivo.
Fala programador(a), tudo bem? Bora aprender mais sobre PHP e como criar datas no nosso padrão!
Temos duas abordagem para formatar datas em português e não precisamos utilizar a função date, como muitos pensam
Utilizando o DateTime
A maneira que eu mais gosto é utilizando um objeto chamado DateTime, assim não preciso alterar as configurações do PHP
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Vamos ver na prática como funciona:
<?php
$date = new DateTime();
$formatter = new IntlDateFormatter(
'pt_BR',
IntlDateFormatter::FULL,
IntlDateFormatter::NONE,
'America/Sao_Paulo',
IntlDateFormatter::GREGORIAN
);
echo $formatter->format($date);Aqui instanciamos o objeto DateTime na variável date, depois instanciamos um outro objeto IntlDateFormatter que será o formatador, ou seja, onde vamos configurar como nossa data aparecerá
Pontos chaves são a linguagem pt_BR, timezone como America/Sao_Paulo e também o calendário gregoriano
A saída é:
sexta-feira, 8 de maio de 2020
Claro que isso é baseado na data que estou escrevendo o artigo, você pode manipular o DateTime para colocar a data que necessita e depois formatar
Por exemplo:
$date2 = new DateTime('2020-09-08');Aí vai gerar a nova data como ano-mês-dia
Utilizando strftime
Não gosto muito dessa abordagem porque você altera o locale diretamente do PHP, mas funciona também
Aqui você vai alterar também a timezone default, o que pode acontecer é o seu servidor ficar em outra timezone e gerar alguma instabilidade no seu software
Veja um exemplo:
setlocale(LC_TIME, 'pt_BR', 'pt_BR.utf-8', 'pt_BR.utf-8', 'portuguese');
date_default_timezone_set('America/Sao_Paulo');
echo strftime('%A, %d de %B de %Y', strtotime('today'));Aqui da mesma forma, definimos o locale para pt_BR e também a timezone para America/Sao_Paulo
A diferença é que a data foi passada via strtotime em vez do objeto DateTime
E também pré formatada em uma string, o resultado será este:
sexta, 08 de maio de 2020
A formatação da string pode ser vista em detalhes como funciona aqui
Conclusão
Neste artigo vimos gerar uma data em português no PHP
Nós utilizamos duas abordagens, uma orientada a objetos com o DateTime e outra com o método strftime, onde alteramos as configs do PHP
As duas atingem um resultado satisfatório, porém a primeira é mais indicada por não alterar nenhuma configuração
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]


Gostei! Me ajudou muito. Poderia atualizar o post e acrescentar que IntlDateFormatter() pode estar desabilitado no php.ini. Vlw!!!