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, mês passado, ontem, entre muitos.
Espero que gostem…
