Es una pregunta de javascript, aun que estes en un proyecto php deberías preguntar en javascript....
Así funciona
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script languaje="javascript"> function hora (form)
{
var hora = form.ini_grupo.value;
var arhora=hora.split(":")
arhora[1] = parseInt(arhora[1],10) + 30;
arhora[0]=parseInt(arhora[0],10);
if(arhora[1]>60)
{
arhora[1]=arhora[1]-60;
arhora[0]++;
}
var h = arhora[0].toString() + ":" + arhora[1].toString();
form.fin_grupo.value = h;
}
<input type="time" name="ini_grupo" value="12:00" onfocus="hora(this.form)" onBlur="hora(this.form)" required> <b>Hora de finalizacion:
</b> <input type="time" name="fin_grupo" required>
Deberias controlar que lo que entren en el primer imput tenga forma de hora, si los minutos son menos de 10 deberías agregar el cero a la izquierda.