Olá caro leitor.

Hoje vou demonstrar como somar datas: adicionar dias, adicionar meses, adicionar anos, e mais. Está é uma dúvida de muitos desenvolvedores, até mesmo de desenvolvedores experientes.

Bom, utilizaremos basicamente 2 funções do php que são:

date()


Formata a data e a hora local.

Descrição da função date():
string date  ( string $format  [, int $ timestamp  ] );


Ex.:
echo date('d/m/Y'); //printa = 13/02/2008



mktime()


Obtém um timestamp Unix para uma data

Descrição da função mktime ():
int mktime  ([ int $hora  [, int $minuto  [, int $second  [, int $mes  [, int $dia  [, int $ano  [, int $is_dst  ]]]]]]] )



As duas funções acima demonstradas juntas podem encontrar datas no futuro ou no passado (a nossa mágica).

Exemplo:
//PARA DESCOBRIR QUAL DATA SERÁ DAQUI A 5 DIAS
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d')+5,date('Y'));

//PARA DESCOBRIR QUAL SERÁ O DIA AMANHÃ
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d')+1,date('Y'));

//PARA MÊS QUE VEM
echo date('d/m/Y',mktime(0,0,0,date('m') + 1,date('d'),date('Y'));

//PARA ANO QUE VEM
echo date('d/m/Y',mktime(0,0,0,date('m'),date('d'),date('Y') + 1);


Explicação do código:
chamamos a função date() passando 2 parâmetros, um string e outro int.
o string (primeiro parâmetro) é o formato que queremos que seja o resultado mostrado na tela, no caso 'd/m/Y' que resultaria em: 13/02/2008 por exemplo.

o int (segundo parâmetro) passamos a função mktime() que retorna um int, nesta devemos, passar os parâmetros de hora, minuto, segundo, mes, dia, ano, e se somar-mos algo por exemplo dia + 7 teremos o dia que será semana que vem ;)

Com isto você pode fazer muitas coisas. Como por exemplo saber que dia foi ano passado, mes passado, ontem, entre muitos.

Bom pessoal se tiverem alguma dúvida postem abaixo...