Usando em conjunto as funções strftime e strtotime conseguimos calcular datas futuras.
• strftime — formata uma hora/data de acordo com as configurações locais
• strtotime — interpreta qualquer descrição de data/hora em texto em inglês em timestamp Unix
Exemplos:
echo 'Amanhã: ', strftime('%A', strtotime('tomorrow'));
// Amanhã: domingo
echo 'Próxima segunda: ', strftime('%d de %B de %Y', strtotime('next monday'));
// Próxima segunda: 01 de junho de 2009
echo 'Vencimento: ', strftime('%d/%m/%Y', strtotime('+3 months'));
// Vencimento: 30/08/2009
OBS.: Para o nome dos meses e dias da semana ficarem em português, utilize setlocale(LC_TIME, ‘pt_BR’) antes de chamar a função strftime.
Saiba mais em: