Calculatrice de durée

Convertissez les durées entre secondes, minutes, heures, jours et semaines. Analysez les durées lisibles comme « 2h 30m », formatez les millisecondes et générez des chaînes de durée ISO 8601.

Duration Breakdown

Weeks

0

Days

0

Hours

2

Minutes

30

Seconds

15

Millisec

0

All Formats

Human readable

2h 30m 15s

ISO 8601

PT2H30M15S

HH:MM:SS

2:30:15

Total seconds

9015

Total milliseconds

9015000

Total minutes

150.2500

Total hours

2.504167

Total days

0.10434028

Comment utiliser Calculatrice de durée

  1. 1Entrez une durée, des millisecondes ou au format lisible (par exemple, 2h 30m 15s).
  2. 2Visualisez la durée convertie dans toutes les unités de temps : secondes, minutes, heures, jours, semaines.
  3. 3Copiez la chaîne de durée ISO 8601 ou le format lisible pour l'utiliser dans votre code.
ZenovayAnalytics

Sachez ce que vos visiteurs font vraiment.

  • Suivi des visiteurs en temps réel
  • Vie privée d'abord, sans bandeau cookies
  • Installé en deux minutes
Découvrir Zenovay

Questions fréquemment posées

Qu'est-ce que le format de durée ISO 8601 ?
Le format de durée ISO 8601 utilise le modèle PnYnMnDTnHnMnS, où P est le désignateur (Période), T sépare les parties date et heure. Exemples : PT30S = 30 secondes, PT5M30S = 5 minutes 30 secondes, PT2H = 2 heures, P1DT12H = 1 jour 12 heures, P1Y2M3DT4H5M6S = 1 an 2 mois 3 jours 4 heures 5 minutes 6 secondes. Utilisé dans : HTML5 <time datetime="PT1H30M">, XML Schema, APIs REST (Google Calendar, Stripe), durations RFC 3339, API JavaScript Temporal.
Comment convertir les millisecondes en durée lisible ?
Divisez et prenez les restes. Donné en millisecondes ms : jours = Math.floor(ms / 86400000), heures = Math.floor((ms % 86400000) / 3600000), minutes = Math.floor((ms % 3600000) / 60000), secondes = Math.floor((ms % 60000) / 1000), ms_restants = ms % 1000. JavaScript : formatDuration = new Intl.DurationFormat("en", {style: "long"}).format({hours, minutes, seconds}) — partie de l'API Intl.DurationFormat (proposition Stage 3). Alternative : dayjs.duration(ms).humanize() ou date-fns formatDuration().
Comment les durées sont-elles stockées dans les bases de données ?
Options : Entier (secondes ou millisecondes) — le plus simple, arithmétique facile, pas de problèmes de fuseau horaire. Type PostgreSQL INTERVAL : INTERVAL '2 hours 30 minutes' — supporte l'arithmétique (+, -), fonctions EXTRACT(), JUSTIFY_HOURS(). Type MySQL TIME : -838:59:59 à 838:59:59 — bon pour les durées courtes, mauvais pour les très longues. Chaîne ISO 8601 : VARCHAR — lisible par l'homme mais nécessite une analyse pour l'arithmétique. Pour l'analyse : stockez en entier secondes/millisecondes et formatez pour l'affichage dans la couche application.
Quelle est la différence entre durée et intervalle ?
Durée : une quantité fixe de temps, indépendante de tout point de référence. « 2 heures » représente toujours 7 200 secondes. Intervalle : le temps entre deux points spécifiques — affecté par l'heure d'été, les secondes intercalaires et les irrégularités du calendrier. Ajouter « 1 mois » au 31 janvier donne 28 février (ou 29), pas un nombre fixe de jours. En code : utilisez Durée pour les choses comme les délais d'expiration, les délais, l'animation temporelle. Utilisez Intervalle (deux datetimes) pour les événements de calendrier, les périodes de facturation, ou tout calcul relatif au calendrier. ISO 8601 couvre les deux : PT2H (durée) vs 2024-01-01/2024-12-31 (intervalle).
Comment calculer le temps écoulé en JavaScript ?
API Performance (plus précis) : const start = performance.now(); ... const elapsed = performance.now() - start; — retourne les millisecondes avec une précision infra-milliseconde, non affecté par les changements d'horloge système. Date.now() : const start = Date.now(); — millisecondes depuis l'époque Unix, peut sauter si l'heure système change. console.time/timeEnd : console.time("label"); ... console.timeEnd("label"); — intégré pour les mesures rapides. Pour les très longs processus (heures/jours) : stockez les horodatages ISO 8601 dans une base de données et soustrayez lors de la récupération.