One way to solve the problem is also to use a class that translates the string Mes
.
Create an array of date with the function explode
native to php.
$data = explode('/', date('d/m/Y'));
Then get this array and print the current month.
function
function Mes($nomemes, $formato = 'extenso'){
$formatoValido = array('extenso', 'abreviado');
if(!in_array($formato, $formatoValido)){
return "Formato de data invalido";
}
$mes = array(
1 => array(
'abreviado' => 'Jan',
'extenso' => 'Janeiro'
),
2 => array(
'abreviado' => 'Fev',
'extenso' => 'Fevereiro'
),
3 => array(
'abreviado' => 'Mar',
'extenso' => 'Março'
),
4 => array(
'abreviado' => 'Abr',
'extenso' => 'Abril'
),
5 => array(
'abreviado' => 'Mai',
'extenso' => 'Maio'
),
6 => array(
'abreviado' => 'Jun',
'extenso' => 'Junho'
),
7 => array(
'abreviado' => 'Jul',
'extenso' => 'Julho'
),
8 => array(
'abreviado' => 'Ago',
'extenso' => 'Agosto'
),
9 => array(
'abreviado' => 'Set',
'extenso' => 'Setembro'
),
10 => array(
'abreviado' => 'Out',
'extenso' => 'Outubro'
),
11 => array(
'abreviado' => 'Nov',
'extenso' => 'Novembro'
),
12 => array(
'abreviado' => 'Dez',
'extenso' => 'Dezembro'
)
);
return $mes[$nomemes][$formato];
}
In this function I have created two ways to call it with a string in full and abbreviated as follows
echo "São Paulo, ".$data[0]." de ".Mes($data[1])." de ".$data[2];//string no extenso São Paulo, 22 de Outubro de 2017
And short value
echo "São Paulo, ".$data[0]." de ".Mes($data[1],'abreviado')." de ".$data[2];// abreviado para São Paulo, 22 de Out de 2017