Vamos ver como obter os nomes dos meses em português ao usarmos a função date() do PHP. Por padrão, vem em inglês e isso por ficar quase ilegível para o usuário.
Sem muitas delongas, abaixo posto código completo:
<?php // Array associativo com os nomes dos meses em português $meses = [ 1 => 'Janeiro', 2 => 'Fevereiro', 3 => 'Março', 4 => 'Abril', 5 => 'Maio', 6 => 'Junho', 7 => 'Julho', 8 => 'Agosto', 9 => 'Setembro', 10 => 'Outubro', 11 => 'Novembro', 12 => 'Dezembro' ]; // Obtém o número do mês $numero_mes = date('n', strtotime($linha['data_lancamento01'])); // Obtém o nome do mês em português $nome_mes = $meses[$numero_mes]; // Obtém o ano $ano = date('Y', strtotime($linha['data_lancamento01'])); // Exibe o nome do mês e o ano em português echo $nome_mes . '/' . $ano; ?>
Antes, saiba que meu objetivo aqui é receber apenas mês e ano, nesse formato jan/2024. Se quiser receber em outro formato apenas altere, à gosto, as linhas abaixo.
Explicando passo a passo
Como pode perceber, simplesmente, crio um array. Se quiser poderá colocar os nomes dos meses abreviados, como em “janeiro” ficar apenas “jan”:
Dica: clique aqui e veja post sobre como obter data do banco de dados.
<?php
// Array associativo com os nomes dos meses em português
$meses = [
1 => 'Janeiro',
2 => 'Fevereiro',
3 => 'Março',
4 => 'Abril',
5 => 'Maio',
6 => 'Junho',
7 => 'Julho',
8 => 'Agosto',
9 => 'Setembro',
10 => 'Outubro',
11 => 'Novembro',
12 => 'Dezembro'
];
Depois, uso a função date para pegar apenas o número do mês, se for janeiro então a variável $numero_mes receberá 1, se for fevereiro receberá 2…
// Obtém o número do mês
$numero_mes = date('n', strtotime($linha['data_lancamento01']));
O próximo passo receber o nome do mês. Para isso, usamos o número recebido acima.
// Obtém o nome do mês em português
$nome_mes = $meses[$numero_mes];
Agora obtermos o ano que fica armazenado dentro da variável $ano.
// Obtém o ano
$ano = date('Y', strtotime($linha['data_lancamento01']));
Agora podemos, alegremente, exibir nosso resultado espetacular:
// Exibe o nome do mês e o ano em português
echo $nome_mes . '/' . $ano;