Escrever data por extenso

Função para escrever uma data informada por extenso, com opção para cidade.

  1. function dataExtenso($maiuscula = false, $cidade = , $data = ) {
  2.     if($data == ) {
  3.         $dia = date(‘d’);
  4.         $mes = date(‘m’);
  5.         $ano = date(‘Y’);
  6.     }
  7.     else {
  8.         $dia = substr($data, 0, 2);
  9.         $mes = substr($data, 3, 2);
  10.         $ano = substr($data, 6, 4);
  11.     }
  12.  
  13.     $cidade = $cidade != ? $cidade . ‘, ‘ : ;
  14.  
  15.     $meses = array(
  16.     ’01’ => ‘Janeiro’,
  17.     ’02’ => ‘Fevereiro’,
  18.     ’03’ => ‘Março’,
  19.     ’04’ => ‘Abril’,
  20.     ’05’ => ‘Maio’,
  21.     ’06’ => ‘Junho’,
  22.     ’07’ => ‘Julho’,
  23.     ’08’ => ‘Agosto’,
  24.     ’09’ => ‘Setembro’,
  25.     ’10’ => ‘Outubro’,
  26.     ’11’ => ‘Novembro’,
  27.     ’12’ => ‘Dezembro’);
  28.  
  29.     if(!$maiuscula) {
  30.         $retorno = $cidade . str_pad($dia, 2‘0’, STR_PAD_LEFT)‘ de ‘ . $meses[$mes]‘ de ‘ . $ano;
  31.     }
  32.     else {
  33.         $retorno = strtoupper($cidade . str_pad($dia, 2‘0’, STR_PAD_LEFT)‘ de ‘ . $meses[$mes]‘ de ‘ . $ano);
  34.     }
  35.     return $retorno;
  36. }

Como usar:

  1. echo dataExtenso();

Comments

2 Responses to “Escrever data por extenso”

  1. Gruber on maio 19th, 2009 18:12

    cara teste essa sua funçao ae nada deu certo, dai comecei a fazer mudanças, fiz para apenas escrever uma data onde voce informa, no meu caso data do BD

    ‘Janeiro’,
    ’02’ => ‘Fevereiro’,
    ’03’ => ‘Março’,
    ’04’ => ‘Abril’,
    ’05’ => ‘Maio’,
    ’06’ => ‘Junho’,
    ’07’ => ‘Julho’,
    ’08’ => ‘Agosto’,
    ’09’ => ‘Setembro’,
    ’10’ => ‘Outubro’,
    ’11’ => ‘Novembro’,
    ’12’ => ‘Dezembro’);

    $retorno = strtoupper($dia. ‘ de ‘ . $meses[$mes] . ‘ de ‘ . $ano);

    return $retorno;
    }
    ?>

  2. Cesar Bagatoli on maio 19th, 2009 21:38

    Olá Gruber, me desculpe, realmente tinha um bug na função, pois eu chamava uma função “dateNovo” que não existe no PHP, era uma função interna minha, mas agora corrigi para utilizar “date()”.

Leave a Reply