Função que retorna mês atual e mês anterior

2,799 views
Skip to first unread message

Reginaldo Costa

unread,
Jan 17, 2012, 10:09:12 PM1/17/12
to LISTA PHP
Pessoal, preciso retornar em variáveis o mês atual e o 3 meses anteriores ao atual (por extenso)

ex: janeiro(atual), dezembro, novembro, outubro
ex: agosto(atual), julho, junho, maio

como faço? 

Luis Fernando Gaido

unread,
Jan 17, 2012, 10:17:34 PM1/17/12
to list...@googlegroups.com
Criei rapidinho aq

<?php

    function get_meses($quantidade = 4){
        $meses = array(1 => 'janeiro','fevereiro','março','abril','maio','junho','julho','agosto','setembro','outubro','novembro','dezembro');
        $hoje = getdate();
        $mes_atual = $hoje['mon'];
        $ret = array();
        for($i=0; $i < $quantidade; $i++){
            $ret[] = $meses[$mes_atual];
            $mes_atual--;
            if($mes_atual == 0){
                $mes_atual = 12;
            }
        }
        return $ret;
    }
    echo '<pre>';
    print_r(get_meses());
    echo '</pre>';
?>

--
============================================================
LEIAM SEMPRE AS REGRAS DA LISTA:
http://groups.google.com.br/group/listaphp/web/regras-da-lista-php
--
JQUERY MAGAZINE > http://www.jquerymagazine.com.br
--
PHP MAGAZINE > http://www.phpmagazine.com.br
--
LISTA NODE.JS > https://groups.google.com/group/lista-nodejs?hl=pt-br
--
AJAX-BRASIL > http://groups.google.com/group/ajax-brasil
--
PYTHON-GOOGLE > http://groups.google.com.br/group/python-google
--
DOTNET-BRASIL > http://groups.google.com.br/group/dotnet_br
============================================================



--
Luís Fernando Gaido
Analista de Sistemas
PHP + MySQL + Ajax

"Em teoria, não existe nenhuma diferença entre teoria e prática. Mas, na prática, existe."

Leonardo Soares

unread,
Jan 18, 2012, 4:16:56 PM1/18/12
to list...@googlegroups.com
<?php

echo '<pre>';

function mesAnterior($qtd=3)
{
        $i = 0;
        $dtAtual = date('Y-m-d');
        $arMesAnt = array();
        while($i <= $qtd){
                $arMesAnt[] = date('F',strtotime("-{$i} month",strtotime($dtAtual)));
                $i ++;
        }
        return $arMesAnt;
}
print_r(mesAnterior(3));

?>


--
Leonardo Soares

Rafael Lima

unread,
Jan 18, 2012, 4:13:26 AM1/18/12
to list...@googlegroups.com
$passado = strtotime = ("-1 month");
$data = date("d/m/y", $passado);

acho que funfa hehe abrass

Leonardo Weslei Diniz

unread,
Jan 18, 2012, 5:41:09 AM1/18/12
to list...@googlegroups.com
  1. <?php
  2.     $meses  = array("janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro");
  3.     $mes    = date("m");
  4.     $mes1   = $meses[date("m",mktime(0,0,0,$mes-1,0,0))*1];
  5.     $mes2   = $meses[date("m",mktime(0,0,0,$mes-2,0,0))*1];
  6.     $mes3   = $meses[date("m",mktime(0,0,0,$mes-3,0,0))*1];
  7.     $mes    = $meses[$mes-1];
  8.     print_r(array($mes,$mes1,$mes2,$mes3));
  9. ?>

2012/1/18 Luis Fernando Gaido <luisfern...@gmail.com>



--

Leonardo Weslei Diniz
Analista de sistemas • Flux softwares • http://www.fluxsoftwares.com
Ciência da Computação • 8° período • Faculdades Doctum • http://www.doctum.edu.br
leonard...@gmail.com • leonard...@hotmail.com • leon...@agilesoft.com.br
Cel.: +55 33 8405-7254 • Skype: leonardoweslei • CV: http://cvu.vg/leonardoweslei
http://facebook.com/leonardoweslei • http://twitter.com/leonardoweslei • http://agilesoft.com.br


Reply all
Reply to author
Forward
0 new messages