Palavra:   

Revista PHP / PHP

Jonathan Lamim Antunes

Técnico em Informática de uma rede de escolas é formado pela rede FAETEC - RJ e cursando WebDesign. Possui experiência em Artes Gráficas, Delphi, Programação Web, Redes, Hardware e Aplicativos Office.

Data por Extenso com PHP

Esse artigo mostra como se escrever  a data por extenso em PHP com o seguinte formato:

Quarta-feira, 11 de Julho de 2007


Para a criação do script foi utilizada a função getdate() do PHP, que monta um array com as informações da data.

Para que a data fique no formato acima indicado usaremos o comando switch para que seja possível converter o formato da data gerado pelo PHP.

Vamos iniciar o nosso script. 

Abra o Bloco de Notas e salve com o nome de dt_extenso.php, em seguida digite os código destacados abaixo, apenas o que se encontra na cor azul.

PHP
  1. <?php
  2. $hoje = getdate();
  3.  
  4. // Nessa parte do código foi criada a variável $hoje, que receberá os valores da data.
  5.  
  6. switch ($hoje['wday'])
  7. {
  8. case 0:
  9. echo "Domingo, ";
  10. break;
  11. case 1:
  12. echo "Segunda-Feira, ";
  13. break;
  14. case 2:
  15. echo "Terça-Feira, ";
  16. break;
  17. case 3:
  18. echo "Quarta-Feira, ";
  19. break;
  20. case 4:
  21. echo "Quinta-Feira, ";
  22. break;
  23. case 5:
  24. echo "Sexta-Feira, ";
  25. break;
  26. case 6:
  27. echo "Sábado, ";
  28. break;
  29. }
  30.  
  31. // Acima foi utilizada a instrução switch para que o dia da semana possa ser apresentado por
  32. // extenso, já que o PHP retorna em números. Perceba que dentro de cada instrução case tem uma
  33. // instrução echo que escreve o dia da semana na tela.
  34.  
  35. echo $hoje['mday'];
  36.  
  37. // A instrução echo $hoje[‘mday’]; escreve na tela o data em número,
  38. // conforme retorna o PHP, não precisando de conversão.
  39.  
  40. switch ($hoje['mon'])
  41. {
  42. case 1:
  43. echo " de Janeiro de ";
  44. break;
  45. case 2:
  46. echo " de Fevereiro de ";
  47. break;
  48. case 3:
  49. echo " de Março de ";
  50. break;
  51. case 4:
  52. echo " de Abril de ";
  53. break;
  54. case 5:
  55. echo " de Maio de ";
  56. break;
  57. case 6:
  58. echo "de Junho de ";
  59. break;
  60. case 7:
  61. echo " de Julho de ";
  62. break;
  63. case 8:
  64. echo " de Agosto de ";
  65. break;
  66. case 9:
  67. echo " de Setembro de ";
  68. break;
  69. case 10:
  70. echo " de Outubro de ";
  71. break;
  72. case 11:
  73. echo "de Novembro de ";
  74. break;
  75. case 12:
  76. echo " de Dezembro de ";
  77. break;
  78. }
  79.  
  80. // A parte do código acima tem a mesma função que o primeiro switch utilizado,
  81. // só que agora ele é usado para apresentar o mês.
  82.  
  83. echo $hoje['year'];
  84. ?>
  85.  
www.revistaphp.com.br

Por fim escrevemos o ano, que também não precisa de conversão.

Espero que o script seja útil.

Até a próxima!!!

Opções de Interação

Comentários

Data por extenso
Por: alexandre, 25/08/2009   20:12:08
Ou então mais simples ainda assim
function dataextenso(){
setlocale(LC_ALL, NULL);
return gmstrftime("%A, %d %B %Y");
}
Data po extenso
Por: R., 27/07/2007   01:26:06
ou simplismente vc poderia fazer assim tbm.

codigo:
function mesEsem(){
$oldlocale = setlocale(LC_ALL, NULL);
setlocale(LC_ALL, 'pt_BR');
$SEM = gmstrftime("%A", time());
$MES = gmstrftime("%B", time());
$DIA = gmstrftime("%d", time());
setlocale(LC_ALL, $oldlocale);
return "hoje, $SEM, $DIA de $MES";
}