- Ce sujet est vide.
-
Sujet
-
Bonjour à toute la communauté,
Revoilà le sujet des additions d’heures.Je me suis inspiré des nombreuses contributions pour écrire les scripts (voir ci-dessous) qui fonctionnent très bien. Malheureusement, en testant la possibilité d’une durée de 24:00:00 je me suis aperçu que l’addition ne fonctionnait pas. Je peux additionner 23:59:59 mais 24:00:00 impossible. :mur: Je tourne en rond depuis quelques jours. Avez-vous idée qui débloquerait cet obstacle?
D’avance merci pour vos réponses.Voici le script en document
function Time2Num(sFormat, sTime) {
/*
convert time string (sTime) with format of sFormat
to the seconds since the start of the day
*/
if(sTime == ”) return ”; // exit
// get date time for Epoch date and sTime
var oTime = util.scand(‘mm/dd/yyyy ‘ + sFormat, ’01/01/1970 ‘ + sTime);
// convert UTC Offset to milliseonds for adjustment
var fTZOffset = oTime.getTimezoneOffset() * 1000 * 60
// time since the start of the day in millseconds
var fTime = oTime.valueOf() – fTZOffset;
// convert to seconds and return value
return Math.floor(fTime / 1000);
}
Script de calculevent.value = ”;
// Récupération les temps
var temps1 = this.getField(‘Champs1’).value;
var temps2 = this.getField(‘Champs2).value;
// …// Conversion des temps de chaînes en nombres (secondes)
var secondes1 = Time2Num(‘hh:mm:ss’, temps1);
var secondes2 = Time2Num(‘hh:mm:ss’, temps2);
// …// Somme
var somme = secondes1+ secondes2; //…// Variables
var fsec = somme ;
var fMins = somme / 60;
var fHrs = Math.floor(fMins / 60);// Minutes
fMins = fMins – (fHrs * 60);
fMins = Math.floor(fMins);// Secondes
fsec = fsec – (fHrs * 3600) – (fMins * 60);
fsec = Math.floor(fsec);// Mise en forme du résultat
event.value = fHrs + ‘:’ + util.printf(‘%,302.0f’, fMins) + ‘:’ + util.printf(‘%,302.0f’, fsec)
//
- Vous devez être connecté pour répondre à ce sujet.