Salve Galera,
Hoje é bastante comum trabalhar com datas em PHP, principalmente em sistemas financeiros. Vamos aprender como somar dias, meses, e anos a uma data específica ou a uma data atual. Para esta tarefa utilizaremos a função date() e mktime().
Função Date (Descrição): string date ( string $format [, int $timestamp ] ).
Função Mktime (Descrição): int mktime ([ int $hour = date(“H”) [, int $minute = date(“i”) [, int $second = date(“s”) [, int $month = date(“n”) [, int $day = date(“j”) [, int $year = date(“Y”) [, int $is_dst = -1 ]]]]]]] ).
Vamos ao um exemplo prático:
Somando Dias:
[sourcecode language=”php”]
Data Atual: echo date(‘d/m/Y’,mktime(0,0,0,date(‘m’),date(‘d’)+5,date(‘Y’)));
Data 14/07/2010: echo date(‘d/m/Y’,mktime(0,0,0,date(’07’),date(’14’)-5,date(‘2010’)));
[/sourcecode]
Somando Meses:
[sourcecode language=”php”]
Data Atual: echo date(‘d/m/Y’,mktime(0,0,0,date(‘m’)+10,date(‘d’),date(‘Y’)));
Data 14/07/2010: echo date(‘d/m/Y’,mktime(0,0,0,date(’07’),date(’14’)+10,date(‘2010’)));
[/sourcecode]
Somando Anos:
[sourcecode language=”php”]
Data Atual: echo date(‘d/m/Y’,mktime(0,0,0,date(‘m’),date(‘d’),date(‘Y’)+1));
Data 14/07/2010: echo date(‘d/m/Y’,mktime(0,0,0,date(’07’),date(’14’),date(‘2010’)+1));
[/sourcecode]
Explicação:
A função Date() permite 2 parâmetros, um string e outro int. O primeiro parâmetro string formata o resultado, passando ‘d/m/Y’ a função retornará a data no seguinte formato 99/99/9999.
Já o segundo é passado é um timestamp, sendo assim passamos a função mktime responsável por retornar um int, sendo necessário passar hora, minuto, segundo, mes, dia, ano.
Fique atento na hora de passar os parâmetros, pois é usado o formato americano. Mês, Dia e Ano. Para subtrair dias, meses ou anos troque o +(mais) por -(menos).
Até a próxima.