Vous pouvez faire quelque chose comme ça en PHP 5.3:
$d = new DateTime("01:00");
$f = $d->add(new DateInterval("PT04H30M"));
echo $f->format("H:i"); //outputs 05:30
04h30 à la conversion PT04H30M devrait être trivial. Notez que cela dépend de ce que vous entendez par "04:30". Ce code peut additionner ou non 4 * 60 + 30 minutes à l'heure actuelle.
Si vous voulez dire "4 heures et 30 minutes sur l'horloge", c'est toujours correct. Cependant, si vous voulez dire "4 * 60 + 30 minutes", cela dépend du jour et du fuseau horaire. Exemple:
$d = new DateTime("2010-03-28 01:00 Europe/Lisbon");
$f = $d->setTimestamp($d->getTimestamp() + (4*60+30)*60);
echo $f->format("H:i"); //outputs 06:30 due to DST
Une autre mise en oeuvre du dernière cas (en supposant jour actuel et le fuseau horaire par défaut) pour PHP 5.2 est
echo date("H:i", strtotime("+4 hours +30 mins", strtotime("01:00")));
Pour le premier cas, nous devons faire:
date_default_timezone_set("UTC");
echo date("H:i", strtotime("+4 hours +30 mins", strtotime("01:00")));
Bien oublier le formatage ou dire l'heure militaire. Compte tenu de l'exemple, comment prendriez-vous Time1 et Time2 et l'ajouter pour obtenir "05:30". Faire l'addition simple arrondit simplement le nombre, ce qui n'est pas ce dont j'ai besoin. –