Php addition heure
Résolu
JypX
Messages postés
67
Date d'inscription
Statut
Membre
Dernière intervention
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Php addition heure
- Addition excel - Guide
- Changement d'heure - Guide
- Bash addition - Forum Shell
- Cdg heure d'arrivée a destination shein ✓ - Forum Consommation & Internet
- Additionner deux réels en shell ✓ - Forum Shell
9 réponses
Une fonction native php pour ton cas particulier je n'ai pas trouvé, mais je t'en ai concocté une petite toute chaude:
<?php function add_heures($heure1,$heure2){ $secondes1=heure_to_secondes($heure1); $secondes2=heure_to_secondes($heure2); $somme=$secondes1+$secondes2; //transfo en h:i:s $s=$somme % 60; //reste de la division en minutes => secondes $m1=($somme-$s) / 60; //minutes totales $m=$m1 % 60;//reste de la division en heures => minutes $h=($m1-$m) / 60; //heures $resultat=$h."H ".$m."mn ".$s."s"; return $resultat; } function heure_to_secondes($heure){ $array_heure=explode(":",$heure); $secondes=3600*$array_heure[0]+60*$array_heure[1]+$array_heure[2]; return $secondes; } $heure_1='12:04:43'; $heure_2='14:57:07'; echo 'La somme de '.$heure_1.' et de '.$heure_2.' est: '.add_heures($heure_1,$heure_2); ?>
Un grand merci pour ton aide j'ai personnalisé les 2 fonctions
Une pour transformer la durée en seconde et l'autre pour l'inverse (je fais l'addition entre les 2 fonctions car j'ai plus de 2 valeurs)
Encore merci!!!
Une pour transformer la durée en seconde et l'autre pour l'inverse (je fais l'addition entre les 2 fonctions car j'ai plus de 2 valeurs)
Encore merci!!!
function secondes_to_duree($secondes){ $s=$secondes % 60; //reste de la division en minutes => secondes $m1=($secondes-$s) / 60; //minutes totales $m=$m1 % 60;//reste de la division en heures => minutes $h=($m1-$m) / 60; //heures $resultat=$h.":".$m.":".$s; return $resultat; } function duree_to_secondes($duree){ $array_duree=explode(":",$duree); $secondes=3600*$array_duree[0]+60*$array_duree[1]+$array_duree[2]; return $secondes; }
oui mais en passant par le timestamp et la fonction date ça va donner les heures au format 24h maxi
au dela ça va mettre des jours, hors il veut 27 h par exemple
au dela ça va mettre des jours, hors il veut 27 h par exemple
il y a plus simple avec l'utilisation de mktime
$heure1 = "12:04:43";
$heure2 = "12:04:43";
$h1 = explode(":", $heure1);
$h2 = explode(":", $heure2);
$h1_h2_addtition =
date('H-i-s', mktime($h1[0]+$h2[0],$h1[1]+$h2[1],$h1[2]+$h2[2],1,1,2012))
$heure1 = "12:04:43";
$heure2 = "12:04:43";
$h1 = explode(":", $heure1);
$h2 = explode(":", $heure2);
$h1_h2_addtition =
date('H-i-s', mktime($h1[0]+$h2[0],$h1[1]+$h2[1],$h1[2]+$h2[2],1,1,2012))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
transformer chaque heure en secondes, les additionner et par des divisions les reconvertir en h mn sec