Durées

Additionner des durées et les convertir : une feuille de temps, une liste de lecture, un ensemble de tâches.

Des durées, une par ligne

Écrivez-les comme vous voulez : 1h30, 45 min, 2:15:30, 1,5 h, 3 jours 4 h, PT1H30M. Une ligne qui commence par - est retranchée ; # commence un commentaire.

Ce qui est compris

Unités
ms, s / sec, min / m / mn, h / heures, j / d / jours, sem / w / semaines, en français ou en anglais, au singulier ou au pluriel. Un nombre juste après des heures compte en minutes (1h30), juste après des minutes en secondes (2m30). Les décimales prennent une virgule ou un point.
Notation horaire
1:30, c’est 1 heure 30 minutes (heures:minutes), 1:30:15 ajoute les secondes. Les heures peuvent dépasser 24 : 36:00.
ISO 8601
PT1H30M, P2DT4H, P1W. Le total est donné en heures (PT26H30M plutôt que P1DT2H30M) : ajouté à une date, un jour « D » peut durer 23 ou 25 heures au changement d’heure.
Mois et années
Refusés : un mois dure de 28 à 31 jours, et une année 365 ou 366. Pour ajouter des mois à une date, utilisez dates/add.

Transparence

Tout est calculé dans votre navigateur, par les scripts listés ci-dessous. Rien de ce que vous saisissez ne quitte cette page.

Garanti par votre navigateur
La politique de sécurité du contenu (CSP) de cette page n’autorise qu’une destination, la mesure d’audience du site (connect-src https://stats.r-no.fr, voir plus bas), et interdit tout envoi de formulaire (form-action 'none') : même un bogue ne pourrait envoyer nulle part ce que vous saisissez. Vous pouvez lire cette politique en haut du code source de la page.
Mesure d’audience
Comme toutes les pages du site, celle-ci compte sa visite avec Umami, installé sur le serveur de R-no lui-même (stats.r-no.fr). Il reçoit l’adresse de la page, sans paramètres ni ancre, le site d’où vous venez (son nom de domaine seulement), votre navigateur, votre système, votre langue et la taille de votre écran, ainsi que le pays, la région et la ville déduits de votre adresse IP, qui n’est pas conservée. Il ne reçoit jamais ce que vous saisissez, ni le résultat de l’outil. Aucun cookie, rien d’enregistré dans votre navigateur ; si votre navigateur demande à ne pas être suivi (Do Not Track), rien n’est mesuré. Les données sont effacées au bout de 25 mois.
  • /commun/mesure.js : le filtre appliqué avant chaque envoi, écrit pour R-no Toolbox. 1.4 kB
    SHA-256 225eec74fd12623d82fc05ee7d222be629ce454d081c129e8d1e249ed37ee716
  • https://stats.r-no.fr/m.js : le script de suivi d’Umami, libre (MIT), servi par le serveur de mesure. Son empreinte n’est pas affichée ici : elle change à chaque version d’Umami, et vous ne pouvez pas vérifier depuis votre navigateur qu’il s’agit du code publié. Pour cette partie, il faut faire confiance à R-no.
Ce qui est conservé
Aucun cookie, et rien dans l’adresse. Ce que vous saisissez n’est jamais conservé : tout disparaît quand vous rechargez ou fermez la page. La langue est donnée par l’adresse elle-même (/en/ ou /fr/) : rien n’est conservé pour s’en souvenir. Comme tout site web, le serveur note le téléchargement de la page et de ses fichiers dans ses journaux d’accès (adresse IP, date et heure, adresse demandée, nom du navigateur). Il ne reçoit jamais ce que vous saisissez.
Le code qui s’exécute ici
  • app.js: la lecture des durées, les sommes et la page, écrites pour R-no Toolbox. Non minifié, sans bibliothèque tierce. 13.5 kB
    SHA-256 88de9f08cf30d84fceec9fd95fb14206fb216c18ffee1ff2cd7e5e8e47108af3
  • textes.js: les messages en français de l’outil, affichés par son script (le reste de la page française est écrit dans son HTML à la construction du site). Il ne fait que définir des textes, sans aucune logique. 6.4 kB
    SHA-256 bcd9bb42620b1280197cb9204fd1703b51b6bf021c88391836b37e63b0bf9fcb
  • /commun/langue.js: l’aide à la traduction, la même sur toutes les pages du site. Elle lit la langue de la page et donne à l’outil ses messages dans cette langue. Elle ne conserve rien. 1.6 kB
    SHA-256 80f76f69773ef628d36d09bf8387cfedebda4529210d7120649b6f5603310631
Comment c’est calculé
Chaque durée est convertie en millisecondes entières, décimales comprises (0,1 h fait exactement 360 000 ms), et la somme est exacte. Une heure fait 3 600 secondes, un jour 24 heures, une semaine 7 jours.
Vérifiez vous-même
Téléchargez un script et comparez son empreinte avec celle affichée ci-dessus :
curl -s https://r-no.fr/dates/duration/app.js | shasum -a 256
Limites
Les mois et les années sont refusés (leur longueur varie). Pas de secondes intercalaires. Les heures décimales sont arrondies à deux chiffres après la virgule, les autres valeurs à quatre. 1 000 lignes au plus.