Leandro Vieira Pinho´s Blog

Just another WordPress weblog

Função em PHP para exibir datas por extenso

April 17th, 2007. Published under javascript. 6 Comments.

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.

6 Comments

Os melhores amigos deste blog - dudu tomaselli  on April 17th, 2007

[...] 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. [...]

Leandro Vieira Pinho´s Blog » Blog Archive » Boas técnicas de SEO garantem 1º lugar no Google, com apenas 2 dias  on April 20th, 2007

[...] 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 [...]

Alisson Patrício  on April 20th, 2007

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ç….

Elfrancio Granjense  on September 25th, 2007

Ótimo, bem comentada, ajuda bastante!

E-balaio » Função em PHP para formatar datas com timestamp MySQL  on October 28th, 2007

[...] 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 [...]

Bruno  on June 4th, 2008

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

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

Leave a Comment