The correct way to add hours to a date is this
$startTime = date("Y-m-d H:i:s");
//exibir a hora de início
echo 'Starting Time: '.$startTime;
//adiciona 1 hora ao tempo
$cenvertedTime = date('Y-m-d H:i:s',strtotime('+1 hour',strtotime($startTime)));
//exibir o tempo convertido
echo 'Converted Time (added 1 hour): '.$cenvertedTime;
//adiciona 1 hora e 30 minutos ao horário
$cenvertedTime = date('Y-m-d H:i:s',strtotime('+1 hour +30 minutes',strtotime($startTime)));
//exibir o tempo convertido
echo 'Converted Time (added 1 hour & 30 minutes): '.$cenvertedTime;
//adiciona 1 hora, 30 minutos e 45 segundos ao horário
$cenvertedTime = date('Y-m-d H:i:s',strtotime('+1 hour +30 minutes +45 seconds',strtotime($startTime)));
//exibir o tempo convertido
echo 'Converted Time (added 1 hour, 30 minutes & 45 seconds): '.$cenvertedTime;
//adiciona 1 dia, 1 hora, 30 minutos e 45 segundos ao horário
$cenvertedTime = date('Y-m-d H:i:s',strtotime('+1 day +1 hour +30 minutes +45 seconds',strtotime($startTime)));
//exibir o tempo convertido
echo 'Converted Time (added 1 day, 1 hour, 30 minutes & 45 seconds): '.$cenvertedTime;
I hope that with this tutorial you will understand how to manipulate your dates and predict the day of the hour and minute of arrival.
follows a time difference calculation function that I had ready here:
function timediff($inicio,$fim){
$entrada = $inicio;
$saida = $fim;
$hora1 = explode(":",$entrada);
$hora2 = explode(":",$saida);
$acumulador1 = ($hora1[0] * 3600) + ($hora1[1] * 60) + $hora1[2];
$acumulador2 = ($hora2[0] * 3600) + ($hora2[1] * 60) + $hora2[2];
$resultado = $acumulador2 - $acumulador1;
$hora_ponto = floor($resultado / 3600);
$resultado = $resultado - ($hora_ponto * 3600);
$min_ponto = floor($resultado / 60);
$resultado = $resultado - ($min_ponto * 60);
$secs_ponto = $resultado;
//Grava na variável resultado final
$tempo = $hora_ponto.":".$min_ponto.":".$secs_ponto;
return $tempo;
}