Les dates et les heures sont par­ti­cu­liè­re­ment im­por­tantes lorsqu’on souhaite planifier des rendez-vous. À l’heure de la nu­mé­ri­sa­tion mondiale, il devient cependant de plus en plus difficile de com­mu­ni­quer la date et l’heure de manière claire et com­pré­hen­sible pour tout le monde. Au vu des dif­fé­rents fuseaux horaires dans le monde et des dif­fé­rentes habitudes cultu­relles de formatage de l’heure et des dates, il est parfois compliqué de com­mu­ni­quer des heures et des dates précises et fiables par-delà les fron­tières. La norme ISO 8601 apporte une solution à ce problème. En s‘accordant sur un standard in­ter­na­tio­nal, les acteurs du monde entier peuvent do­ré­na­vant convenir de délais et de rendez-vous sans s’exposer à la pos­si­bi­lité d’un ma­len­tendu.

Dé­fi­ni­tion : ISO 8601

La norme standard in­ter­na­tio­nale ISO 8601 fournit des re­com­man­da­tions sur les formats nu­mé­riques ap­pli­cables à la re­pré­sen­ta­tion des dates et des heures.

Vous pouvez convertir des dates et heures dans le format ISO souhaité à l’aide de dif­fé­rents outils de con­ver­sion ou de scripts. Dans cet article, vous dé­cou­vri­rez tout ce qu’il vous faut savoir à propos de ce standard per­met­tant d’indiquer des dates et des heures.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Principes de la norme ISO 8601

La norme ISO 8601 définit un format reconnu à l’in­ter­na­tio­nal pour la re­pré­sen­ta­tion de la date et de l’heure. Ce format prend la forme suivante : heures-minutes-secondes. Pour les in­di­ca­tions tem­po­relles plus vastes, l’ordre requis est : année-mois-jour. Le format de base de cette re­pré­sen­ta­tion permet d’écrire les numéros di­rec­te­ment les uns après les autres. Pour une meilleure lecture, ces derniers peuvent également être dissociés par des sé­pa­ra­teurs. Le format de base défini par la norme ISO 8601 re­pré­sente ainsi la date du « 7 septembre 2019 » de la manière suivante : « 20190907 » ou bien encore avec les sé­pa­ra­teurs : « 2019-09-07 ». Les horaires sont quant à eux divisés en heures, en minutes et en secondes. La re­pré­sen­ta­tion numérique selon la norme ISO 8601 cor­res­pond ainsi à 12:07:22. Cette re­pré­sen­ta­tion des formats de données ISO (appelés iso date formats) permet de mettre de côté les formats spé­ci­fiques aux pays, tout du moins dans les in­di­ca­tions élec­tro­niques.

90La norme ISO 8601 est également connue sous la dé­sig­na­tion EN 28601 (pour les normes eu­ro­péennes). Elle ne sert d’ailleurs pas seulement à indiquer les dates et les heures mais permet aussi d’exprimer des durées. Dans ce cas, la date de début et/ou l’heure de début sont séparées de la durée au moyen de la lettre « P ». Une durée qui commence le 6 septembre 2019 à 20 h 00 et qui s’étale sur un mois, 5 jours et 3 heures est notée de la manière suivante con­for­mé­ment à cette norme ISO : 2019-09-06T20P1M5T3H.

Toutes les données telles que les heures, les dates et les durées sont cons­truites selon un ordre précis : elles com­men­cent par la plus grande unité et sont suivies par les autres par ordre dé­crois­sant. Ce mode d’écriture est également connu comme « notation dé­crois­sante ». Il cor­res­pond à la valeur ma­thé­ma­tique naturelle des chiffres. Les plus grandes unités sont ainsi toujours écrites avant les unités plus petites. Ce mode d’écriture est utile, car il permet de parvenir au même résultat avec un tri lexi­co­gra­phique ou chro­no­lo­gique des dates et des heures.

Pré­sen­ta­tion tabulaire des données ISO 8601 (ISO date)

Re­pré­sen­ta­tion selon ISO 8601 Plages de valeurs
Année (A) AAAA, sur 4 chiffres ou sur 2 chiffres en format abrégé
Mois (M) MM, de 01 à 12
Semaine (W) WW, de 01 à 53
Jour (J) J, le jour de la semaine, de 1 à 7
Heure (H) hh, de 00 à 23, 24:00:00 étant défini comme heure de fin
Minute (M) mm, de 00 à 59
Seconde (S) ss, de 00 à 59
Fraction décimale (f) Fractions de seconde, précision maximale

Dans tous les formats de la norme, les dates ou les heures sont sub­di­vi­sées en dif­fé­rentes unités, par exemple en année, mois, jour, heure, etc. Chacune de ces unités est re­pré­sen­tée par un nombre de chiffres précis. La norme est en par­ti­cu­lier utilisée pour les sciences na­tu­relles, pour le dé­ve­lop­pe­ment de logiciels ainsi que pour les cor­res­pon­dances in­ter­na­tio­nales, afin de réduire le risque d’erreurs con­cer­nant les in­di­ca­tions tem­po­relles. L’ho­ro­da­tage ISO 8601 stan­dar­disé à l’échelle in­ter­na­tio­nale (ISO 8601 timestamp) réduit en effet con­si­dé­ra­ble­ment ce risque.

Après l’in­di­ca­tion de la date et de l’heure, on ajoute souvent une in­di­ca­tion marquant l’écart avec le temps universel, ce dernier étant abrégé en UTC. Le format prend ainsi en compte les éven­tuelles dif­fé­rences de fuseaux horaires ou les heures d’été spé­ci­fiques aux pays. En général, on utilise la lettre « Z » à cet effet.

Tableau des dates ISO 8601 avec fuseaux horaires

Exemple Ex­pli­ca­tion
2019-09-07T-15:50+00 À 15:50, le 07/09/2019 dans le fuseau horaire du temps universel
2019-09-07T15:50+00Z toujours à 15:50, le 07/09/2019 dans le fuseau horaire du temps universel avec le com­plé­ment « Z » dans la notation
2019-09-07T15:50+01:00 À 15:50, le 07/09/2019 dans le fuseau horaire de Paris (CET)

Il est important de noter que le champ d’ap­pli­ca­tion des chiffres relatifs aux années sous ce format ne peut s’appliquer qu’aux années allant de 1583 à 9999 étant donné que le ca­len­drier grégorien n’a été instauré qu’en 1583. Il est néanmoins possible d’utiliser la norme ISO 8601 pour des données an­té­rieures à 1583, mais les par­te­naires s’échan­geant les données devront s’entendre au préalable pour éviter tout ma­len­tendu.

Les avantages du standard ISO 8601 par rapport aux autres variantes ha­bi­tuelles

La norme ISO 8601 définit uni­que­ment des notations nu­mé­riques et ne peut pas être utilisée pour exprimer des dates et des heures employant des mots. Elle n’a pas été conçue pour remplacer des for­mu­la­tions dépendant de la langue, telles que « le 4 février 1995 ». La norme ISO 8601 a davantage vocation à se subs­ti­tuer aux dé­sig­na­tions telles que « 2/4/95 » (notation amé­ri­caine) ou encore « 9 h 30 » (notation française).

Les avantages de la notation de la norme ISO 8601 sont les suivants :

  • Facile à lire et à écrire par un logiciel
  • Facile à comparer et à trier à l’aide d’une com­pa­rai­son simple des chaînes de ca­rac­tères
  • Com­pré­hen­sible et in­dé­pen­dante de la langue nationale
  • Ne peut pas être confondue avec d’autres notations courantes
  • Conforme au système usuel avec 24 heures, dans lequel les unités les plus grandes (heures) sont placées avant les plus petites (minutes et secondes)
  • Les chaînes de ca­rac­tères contenant une date suivie d’un horaire sont faciles à comparer et à classer (par exemple : « 2019-09-07 20:15:00 »).
  • La notation est courte et dispose d’une longueur constante, ce qui facilite aussi bien la saisie au clavier que la mise en page dans un tableau.
  • Identique à la notation de dates chinoises, de sorte que le plus grand groupe culturel sur cette planète (>25 %) est déjà fa­mi­lia­risé avec ce système de notation
  • Les in­di­ca­tions de date selon l’ordre « année, mois, jour » sont déjà très répandues, notamment au Japon, en Corée, en Hongrie, en Suède, en Finlande, au Danemark et dans d’autres pays.
  • Une re­pré­sen­ta­tion de l’année sur quatre chiffres ne pose pas de problème lors d’un chan­ge­ment de siècle.

Convertir des données

En principe, le format des données peut être converti dans deux sens dif­fé­rents. Tout d’abord, il est possible de convertir une date cor­res­pon­dant à la for­mu­la­tion propre à son pays dans la norme ISO. Ensuite, une date au format ISO peut également être convertie dans la langue res­pec­tive.

Lorsqu’on convertit une date ISO (iso date) vers une forme lisible « simple », l’ho­ro­da­tage ISO 8601 se présente gé­né­ra­le­ment comme suit :

String dateString = "2019-09-26T07:58:30.996+0200"

Cette chaîne est main­te­nant cons­truite sur le format de date aaaa-mm-jj. Ici, le sé­pa­ra­teur pour le temps est « T » et le format de l’horaire hh:mm:ss suivi de l’appendice UTC .sssz. Le format complet se présente alors comme suit : aaaa-mm-jj ‘T‘ hh:mm:ss:SSSZ.

La con­ver­sion suivante a main­te­nant pour objectif de convertir la date ISO au format de la langue allemande, c’est-à-dire de trans­crire la date au format courant, à savoir hh:mm, jj.mm.aaaa (heure, minute – jour, mois, année).

public String getOurDate() {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
try {
    Date unformatedDate = format.parse(date);
    String formatedDate = new SimpleDateFormat("HH:mm dd.MM.yyyy").format(unformatedDate);
    return formatedDate;
    }   catch (ParseException e){
            System.out.println("Error")
    }
    return date;
}
Conseil

Outre les pos­si­bi­li­tés de con­ver­sion manuelle, il existe certains sites sur internet qui con­ver­tis­sent au­to­ma­ti­que­ment les dates dans le format demandé, par exemple le con­ver­tis­seur DenCode.

Sur ce site, il suffit de saisir la date au format existant et de sé­lec­tion­ner vers quel format de sortie vous souhaitez convertir la date. Il est également possible de sé­lec­tion­ner le fuseau horaire désiré.

Aller au menu principal