Adicionar dias a uma data em Mysql ou PHP
Esses dias eu precisei adicionar 1 mês em uma data, e descobrir duas formas de fazer isso.
Caso queira usar isso com o PHP poder ser usado a função explode:
<?php
$dt_ini='30/08/2009';
$total_dias='30';
$data=explode('/', $dt_ini); //irá jogar em um array os valores para cada barra "/" que encontrar
$ano=$data[2];
$mes=$data[1];
$dia=$data[0];
$proxima_data=mktime(0,0,0, $mes,$dia+$total_dias,$ano);
$dt_final=strftime("%d/%m/%Y", $proxima_data);
echo $dt_final;
?>
A vantagem desse método é que pode ser qualquer formato de data(exemplo 2010-08-30 )
MYSQL
Agora para fazer isso no Mysql, ou seja pegar os registros de uma data no futuro, pode ser usado o comando DATE_ADD
SELECT DATE_ADD(CURDATE(), INTERVAL 1 MONTH) -- data atual + 1 mês SELECT DATE_ADD(CURDATE(), INTERVAL -1 MONTH) -- data atual - 1 mês -- CURDATE() retorna somente a data -- NOW() retorna data e hora
O INTERVAL pode ser qualquer forma de tempo desde microsegundos até anos. E pode ser usado um valor positivo(data no fututo) ou negativo(datas passadas). Veja aqui as opções.
E logicamente no lugar do CURDATE() pode ser um campo/variavel que contenha data (ele precisa estar salvo no formato DATE ou DATETIME).
Obs:Â caso queria colocar uma data fixa ela precisa estar entre aspas ‘2010-08-30′ para funcionar.




Sem Avaliações. Vota ai vai!