Função em PHP para exibir datas por extenso

Abaixo há uma função em PHP para exibir datas por extenso no seguinte formato: [Nome do dia da semana], [dia do mês] de [Nome do mês] de [Ano com 4 dígitos]. Um exemplo: Terça-feira, 17 de Abril de 2007.

Para utilizá-la proceda assim:

echo formata_data_extenso('2007-04-17');
echo formata_data_extenso('2007-04-17 15:20:35');

Essa função é muito útil quando se deseja formatar as datas armazenadas em um banco de dados MySQL, por exemplo; em que elas estão armazenadas no formato date, datetime ou timestamp.

Já falhei por aqui sobre Formatar as datas do MySQL com SQL ou PHP. O código da função segue abaixo:

/**
 * Esta função retorna uma data escrita da seguinte maneira:
 * Exemplo: Terça-feira, 17 de Abril de 2007
 * @author Leandro Vieira Pinho [http://leandro.w3invent.com.br]
 * @param string $strDate data a ser analizada; por exemplo: 2007-04-17 15:10:59
 * @return string
 */
function formata_data_extenso($strDate)
{
	// Array com os dia da semana em português;
	$arrDaysOfWeek = array('Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado');
	// Array com os meses do ano em português;
	$arrMonthsOfYear = array(1 => 'Janeiro','Fevereiro','Março','Abril','Maio','Junho','Julho','Agosto','Setembro','Outubro','Novembro','Dezembro');
	// Descobre o dia da semana
	$intDayOfWeek = date('w',strtotime($strDate));
	// Descobre o dia do mês
	$intDayOfMonth = date('d',strtotime($strDate));
	// Descobre o mês
	$intMonthOfYear = date('n',strtotime($strDate));
	// Descobre o ano
	$intYear = date('Y',strtotime($strDate));
	// Formato a ser retornado
	return $arrDaysOfWeek[$intDayOfWeek] . ', ' . $intDayOfMonth . ' de ' . $arrMonthsOfYear[$intMonthOfYear] . ' de ' . $intYear;
}

Comentários para melhoria são bem-vindos.

Retweet this post

Tags:

6 Responses to “Função em PHP para exibir datas por extenso”

  1. [...] Leandro Vieira Pinho – O Leandro entrega mais uma dica para quem trabalha com desenvolvimento na web, no post funçao em PHP para exibir datas por extenso. [...]

  2. [...] dia 17 deste mês publiquei o artigo, Função em PHP para exibir datas por extenso, e no dia 19 do mesmo mês, Abril, ele já se posicionou em primeiro lugar no resultado de busca do [...]

  3. Função para exibir data por extenso, em PHP…

    Vi hoje no blog do Leandro Vieira uma função para exibição de datas por extenso em PHP.
    como já tinha feito algo parecido antes gostaria de mostrar pra vocês, não é uma função, ou melhor, usa funções nativas do PHP.
    No PHP existe uma funç….

  4. Ótimo, bem comentada, ajuda bastante!

  5. [...] programado muito ruim (ainda em que não vivo disso) acabei fuçando o Google e me deparei com este post do Leandro Veira (ótimo blog) que faz o serviço, porém com um detalhe (atenção aqui eu começo a falar de [...]

  6. Bruno says:

    Bacana. Uma simples e ótima explicação de tratamento de datas. Parabens pela dica e muito obrigado.

    Bruno Estevao
    http://www.sempihost.com.br