DEV Community

Mehdi Kabbaj
Mehdi Kabbaj

Posted on

Calculer des heures en base 60 sans se tromper : la méthode des minutes totales

Additionner des heures n'est pas comme additionner des nombres : 1h45 + 2h30 ≠ 3h75, mais 4h15. La cause, c'est la base 60.

La parade fiable des développeurs et des gestionnaires de paie : convertir chaque durée en minutes totales avant toute opération, puis reconvertir.

const toMinutes = (h, m) => h * 60 + m;          // 3h45 -> 225
const add = (a, b) => a + b;                      // sur les minutes, sans retenue
const toHHMM = (t) => `${Math.floor(t/60)}h${String(t%60).padStart(2,'0')}`;
const toDecimal = (t) => (t / 60).toFixed(2);     // paie : 7h15 = 7.25, jamais 7.15
Enter fullscreen mode Exit fullscreen mode

Les 3 pièges classiques

  1. Excel plafonne à 24h si le format de cellule n'est pas [h]:mm (les crochets sont obligatoires pour cumuler au-delà d'une journée).
  2. Le passage de minuit : si l'heure de fin est antérieure au début, la durée vaut (1440 - début) + fin (en minutes).
  3. La conversion décimale : on divise les minutes par 60, pas le chiffre après l'heure. 7h45 → 45/60 = 0,75 → 7,75, pas 7,45.

Heures supplémentaires (France)

Base légale 35h/semaine, puis +25 % de la 36ᵉ à la 43ᵉ heure et +50 % au-delà. Là encore, on raisonne en minutes totales avant d'appliquer les taux.

J'ai détaillé la méthode complète en 5 étapes et un calculateur 6 modes (addition, soustraction, conversion décimal, durée entre deux horaires avec passage minuit, total semaine 35h, heures de nuit selon convention collective) ici :

Calculatrice d'heures — méthode complète

Et vous, quelle méthode utilisez-vous pour les feuilles de temps en masse ?

Top comments (0)