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ção que seleciona o idioma que você quer usar em seu programa, essa função é a
setlocale().

Ex:

  1. <?php
  2. setlocale(LC_TIME, ‘pt_BR.utf8’);
  3. ?>

O primeiro parâmetro “LC_TIME”, define a categoria das funções que serão afetadas, nesse caso, afetara as funções de data.

O segundo parâmetro definimos o idioma usado. Esse parâmetro dependa da disponibilidade do idioma instalado no sistema, varia de sistema pra sistema, veja mais sobre no manual da função.

A outra função necessária pra nosso codigo é a strftime(), ela que formatara a data da forma que agente quer.

  1. <?php
  2. echo strftime("%A, %d de %B de %Y", strtotime("1992-06-01"));
  3. ?>

note que o primeiro parametro é onde configuramos a formatação da data, pode encontra mais a respeito no manual da função, e segundo especificamos o timestamp, se deixamos em branco retornara a data corrente.

E finalmente

  1. <?php
  2. setlocale(LC_TIME, ‘pt_BR.utf8’);
  3. echo strftime("%A, %d de %B de %Y", strtotime("1992-06-01"));
  4. ?>

Retornara…

segunda, 01 de junho de 1992

Solução bem elegante, mas nem tão eficiente, pois depende da disponibilidade do idioma estar instalar no sistema.