Há vários parâmetros de expressão para função. E pode-se utilizar todos os parâmetros, basta acessar o manual oficial da linguagem em:
Uma forma simples de incrementar uma data é somar à função 'date' o valor desejado, como por exemplo:
<?php
echo date("Y")+1; //IRÁ INSERIR UM ANO
?>
Ou, se a data possuir mais que um parâmetro válido, irá inserir no parâmetro mais deslocado à esquerda, como por exemplo:
<?php
echo date("d/m/Y")+1; //IRÁ INSERIR UM DIA
?>
A função time() retorna o timestamp atual da máquina, ou seja, o current. A maior usabilidade que vi até hoje, fora na inserção de cookies para página, onde que o servidor insere através desta forma e apenas adiciona-se o valor desejado em segundos.
Para efetuar um teste, pode-se imprimir na tela a data atual fazendo:
<?php
echo time(); IRÁ IMPRIMIR O TIMESTAMP ATUAL
?>
Não está errado dizer que a data através da função 'time()' está certa, pois a data está em outro formato. Um exemplo totalmente utilizável para a função 'time()', além do cálculo, pode ser a inserção de um 'cookie', como no exemplo abaixo:
<?php
setcookie("Cookie_teste", time()+3600); //IRÁ INSERIR O COOKIE POR UMA HORA, POIS É O TEMPO ATUAL + 3600 SEGUNDOS (UMA HORA)
?>
Calculando a diferença de datas
Para calcular a diferença de datas, basta gerar a data atual em segundos e diminuir da data desejada. Já tem-se a função pronta, então não é preciso fazer uma função para converter dias, horas, minutos e anos, para timestamp.
O nome da função é 'mktime()'.
A função é dada por: mktime (hora, minuto, segundo, mês, dia, ano):
<?php
$Time_atual=mktime(0,0,0,5,12,2010);
echo $Time_atual;
?>
Como passou-se a hora, minuto e segundo como zero, o servidor somente irá calcular o que estiver diferente de zero, ou seja (neste caso), irá transformar o dia, mês e ano.
Ao calcular a diferença de uma data para outra, deve-se transformar as duas para segundos, e posteriormente diminuir a maior da menor, como por exemplo:
<?php
$Data_1=mktime(0,0,0,5,12,2010);
$Data_2=mktime(0,0,0,6,12,2011);
$Diferenca=$Data_2 - $Data_1; //CALCULA-SE A DIFERENÇA EM SEGUNDOS
echo "A diferença é de ".($Data_2/(60*60*24))." dias"; //CALCULA-SE A DIFERENÇA EM DIAS
?>
Calcular a diferença em anos, horas, minutos e segundos, basta colocar a lógica para funcionar como já especificou-se, por exemplo:
<?php
$Data_1=mktime(10,5,32,5,12,2010);
$Data_2=mktime(8,45,5,6,12,2011);
$Diferenca=$Data_2 - $Data_1; //CALCULA-SE A DIFERENÇA EM SEGUNDOS
echo "A diferença é de ".($Data_2/(60*60*365))." anos"; //CALCULA-SE A DIFERENÇA EM ANOS
echo "A diferença é de ".($Data_2/(60*60*24))." dias"; //CALCULA-SE A DIFERENÇA EM DIAS
echo "A diferença é de ".($Data_2/(60*60))." horas"; //CALCULA-SE A DIFERENÇA EM HORAS
echo "A diferença é de ".($Data_2/60)." minutos"; //CALCULA-SE A DIFERENÇA EM MINUTOS
echo "A diferença é de ".($Data_2)." segundos"; //CALCULA-SE A DIFERENÇA EM SEGUNDOS
?>
Há outras formas também de cálculos com datas, exemplo: como saber qual será a data daqui a 30 dias por exemplo, já que a função 'date' suporta o 'timestamp'?.
Novamente colocaremos a lógica apresentada na introdução:
<?php
$Data_Atual=time(); //BUSCA A DATA ATUAL
$Acrescimo=22*24*60*60; //CALCULA O ACRÉSCIMO, DE 22 DIAS
$Data_Gerada=$Data_Atual+$Acrescimo; // SOMA A DATA ATUAL AOS 22 DIAS
echo "A data gerada foi: ".date("d/m/Y", $Data_Gerada); //TRANSFORMA PARA O FORMATO dia/mês/ano
?>