Calcul de temps a son choix

disca Messages postés 33 Date d'inscription jeudi 6 février 2003 Statut Membre Dernière intervention 20 mars 2014 - 9 déc. 2005 à 21:45
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 12 janv. 2006 à 16:14
J’aimerais savoir comment on faire pour dire combien de temps il y a entre 14:30 et 16:45 pour que dans une calcul me il donne 2:15

ou une façon de calculée les heures de mon choix genre :
12:30 - 14:20 = 1:50
12:00 - 16:00 = 4:00

Quelqu’un peut m’aider ! Merci !

2 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
11 janv. 2006 à 16:09
B
ien le
B

onjour...

Prêt.. alors on y va...

// les variables à traiter sont les suivantes
var H_Debut; // Heure de début exemple 12:40
var H_Fin; // Heure de Fin exemple 14:20

// On commence par récupérer
// Heure de H_Debut et Minute de H_Debut
// donc les variables suivantes...
var H_Heure_Debut = GAUCHE ( H_Debut jusqu'au ":");
var H_Minute_Debut = DROITE ( H_Debut à partir des ":");

// ensuite idem pour H_Fin

// donc les variables suivantes...

var H_Heure_Fin =
GAUCHE
( H_Fin jusqu'au ":");
var H_Minute_Fin =
DROITE
(
H_Fin
à partir des ":");

// On calcul ensuite...
var Resultat_Heure = H_Heure_Debut - H_Heure_Fin
;
var Resultat_Minute = H_Minute_Debut - H_Minute_Fin;

// Bon n'oublions pas que les minutes sont sur 60, il y a surement des conversions à faire...

// Les conversions et le calcul étant fait attention à bien remettre les minutes sur 60...

// En final il faut faire
var Resultat = Resultat_Heure +":" +Resultat_Minute
;

J'espére avoir été clair...

Bon il te reste du boulot à faire alors au TRAVAIL...

:o)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
12 janv. 2006 à 16:14
B
ien le
B
on d'un autre jour...

Je ne sais si tu as planché sur le sujet ou non...quoiqu'il arrive je te livre un code que tu n'auras qu'à analyser pour tout comprendre...

Allez c'est parti...

//-------------------------------
function GetDeltaDate( deb_,fin_){
var bAlerte = true; // Juste pour affichage du résultat...
var D_Minute, D_Heure;
var F_Minute, F_Heure;
var H_0, H_1, M_0, M_1;
var Pos_2pt;
var Heure, Minute, Delai;
var Sens =1;
var Delta;

//-- Récupération des textes Heure et Minute
with( deb_){
Pos_2pt = indexOf(":");
D_Heure = substr ( 0, Pos_2pt);
D_Minute = substr ( Pos_2pt +1, 255);
}
with( fin_){

Pos_2pt = indexOf(":");

F_Heure = substr ( 0, Pos_2pt);
F_Minute = substr ( Pos_2pt +1, 255);
}

//-- Conversion en minutes pour le calcul
H_0 = eval(D_Heure)*60 + eval(D_Minute);
H_1 = eval(F_Heure)*60 + eval(F_Minute);

Delta = H_1-H_0; // Calcul de l'écart
if( Delta < 0){
Sens = -1;
Delta *= Sens; // On rétabli en positif
}
//-- Récupération
M_0 = Delta % 60; // Nbr Minutes
H_0 = (Delta - M_0)/60; // Nbr Heures

//-- Formatage Chaine de sortie 00:00
Heure = parseInt(H_0);
if( H_0 < 10)
Heure = "0" +Heure;

Minute = parseInt(M_0);
if( M_0 < 10)
Minute = "0" +Minute;

//-- On a en sortie
Delai = Heure +":" +Minute;

//-- On rajout le signe éventuel
if( Sens < 0 )
Delai = "-" + Delai;

if( bAlerte)
alert( "H Fin\t= "+fin_ +"\nH Début\t= " +deb_ +"\nDélai\t= " +Delai);

return( Delai);
}

Voila, MAIS ATTENTION pour être complet il faudrait faire les test d'usage sur les chaines entrantes ou mieux les formattées en debut de fonction sauf si bien sur tu es sur de ton cou...

;0)) Bonne prog................................................................................
0
Rejoignez-nous