Quantidade de dias no mês com php

O php é uma linguagem muito simples e por este motivo, muitos programadores começaram a desenvolver como autodidata, não conhecendo todas as funcionalidades que a linguagem oferece. ?s vezes por não estudar a linguagem de forma correta, o desenvolvedor deixa de lado funções simples, e acaba por criar funções complexas para chegar ao mesmo objetivo.

Vejamos o exemplo de uma função que resgata o ultimo dia do mês. Na maioria das linguagens é realizado a partir da busca do primeiro dia do mês subsequente. Todos sabemos que o primeiro dia de um mês é o dia "1", então colocamos o dia "1" do mês subsequente e diminuímos "1" dia para achar o ultimo dia o mês perseguido. Exemplo em php:

$ultimo_dia = date('d', mktime(0, 0, 0, 10, 0, 2011 )); 


No exemplo acima, eu resgatei o dia "0" do mês "10", que é igual ao ultimo dia do mês "9".

Para explicar melhor:

A função "mktime" é bem simples de entender. Ela retorna uma "timestamp" que nada mais é do que uma data formatada para que o php entenda. Eis a descrição dos seus parâmetros:

mktime( $hora, $minuto, $segundo, $mes, $dia, $ano );


Veja exemplos:

$ultimo = mktime (0,0,0,3,0,2000);
echo "O Ultimo dia de Fevereiro de 2000 é : ". date('d', $ultimo);

A função "date('formato_da_data', data_que_desejo_usar)" retorna formata uma determinada data. O Primeiro parâmetro é o formato e pode ser exibido em diversas formas que explicarei mais à frente. O segundo parâmetro é a data que desejo formatar, e se não for passado, a função entende que queremos utilizar como base a data atual.

Veja agora alguns exemplos que podemos retornar com esta função:

'd' = retorna o dia do mês com dois dígitos
'm' = retorna o mês com dois dígitos
'Y' = retorna o ano com quatro dígitos
'w' = representação numérica do dia da semana
'y' = ano com dois dígitos

Exemplos de resultados:

$ultimo_dia = date('d', mktime(0, 0, 0, 10, 0, 2011 )); // returna '30'
$ultimo_dia = date('d/m/Y', mktime(0, 0, 0, 10, 0, 2011 )); // returna '30/09/2011'
$ultimo_dia = date('d/m/y', mktime(0, 0, 0, 10, 10, 2001 )); // returna '10/10/01'


Ainda existe um outra forma de resgatar o ultimo dia do mês, utilizando o formato "t" da função date(), como no exemplo a seguir:

date('t'); // retorna o ultimo dia do mês atual
$ultimo_dia = date('t', mktime(0, 0, 0, 10, 10, 2001 )); // returna 31, que é o ultimo dia do mês 10

Espero ter ajudado a entender melhor estas funções que são muito úteis no dia a dia de quem trabalha com php.

Deixe seu comentário se ainda tem dúvidas quanto ao uso destas ou de outras funções.

Até o próximo post.

Fonte: http://www.php.net

Tags desta matéria

Comentários  (5)

  • Andre Gonzaga
    Andre Gonzaga 10/06/2015 12:19

    Obrigado pelo conteúdo, ajudou muito esclarecer minha duvida. Parabéns Henrique Corrêa!

  • Henrique Corrêa
    Henrique Corrêa 10/06/2015 12:46

    Obrigado à você, André!

  • PHP Progressivo
    PHP Progressivo 25/02/2019 14:15

    Excelente tutorial!

  • PHP Progressivo
    PHP Progressivo 25/02/2019 14:16

    Excelente tutorial!

  • Jonatas Sá
    Jonatas Sá 06/09/2020 16:43

    Otimo artigo,Você ajudou muito.Obrigado pelo seu conteúdo e tempo.

Deixe sua opnião