ISO 8601 – Permettre une communication fiable des dates et des heures à l’international

Les dates et les heures sont particulièrement importantes lorsqu’on souhaite planifier des rendez-vous. À l’heure de la numérisation mondiale, il devient cependant de plus en plus difficile de communiquer la date et l’heure de manière claire et compréhensible pour tout le monde. Au vu des différents fuseaux horaires dans le monde et des différentes habitudes culturelles de formatage de l’heure et des dates, il est parfois compliqué de communiquer des heures et des dates précises et fiables par-delà les frontières. La norme ISO 8601 apporte une solution à ce problème. En s‘accordant sur un standard international, les acteurs du monde entier peuvent dorénavant convenir de délais et de rendez-vous sans s’exposer à la possibilité d’un malentendu.

Définition : ISO 8601

La norme standard internationale ISO 8601 fournit des recommandations sur les formats numériques applicables à la représentation des dates et des heures.

Vous pouvez convertir des dates et heures dans le format ISO souhaité à l’aide de différents outils de conversion ou de scripts. Dans cet article, vous découvrirez tout ce qu’il vous faut savoir à propos de ce standard permettant d’indiquer des dates et des heures.

Domaine Internet pas cher

Bien plus qu'un simple domaine !

Personnalisez votre présence en ligne avec un nom de domaine pertinent.

Email
Certificat SSL
Assistance 24/7

Principes de la norme ISO 8601

La norme ISO 8601 définit un format reconnu à l’international pour la représentation de la date et de l’heure. Ce format prend la forme suivante : heures-minutes-secondes. Pour les indications temporelles plus vastes, l’ordre requis est : année-mois-jour. Le format de base de cette représentation permet d’écrire les numéros directement les uns après les autres. Pour une meilleure lecture, ces derniers peuvent également être dissociés par des séparateurs. Le format de base défini par la norme ISO 8601 représente ainsi la date du « 7 septembre 2019 » de la manière suivante : « 20190907 » ou bien encore avec les séparateurs : « 2019-09-07 ». Les horaires sont quant à eux divisés en heures, en minutes et en secondes. La représentation numérique selon la norme ISO 8601 correspond ainsi à 12:07:22. Cette représentation des formats de données ISO (appelés iso date formats) permet de mettre de côté les formats spécifiques aux pays, tout du moins dans les indications électroniques.

90La norme ISO 8601 est également connue sous la désignation EN 28601 (pour les normes europé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 conformément à cette norme ISO : 2019-09-06T20P1M5T3H.

Toutes les données telles que les heures, les dates et les durées sont construites selon un ordre précis : elles commencent par la plus grande unité et sont suivies par les autres par ordre décroissant. Ce mode d’écriture est également connu comme « notation décroissante ». Il correspond à la valeur mathématique 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 lexicographique ou chronologique des dates et des heures.

Présentation tabulaire des données ISO 8601 (ISO date)

Représentation 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 subdivisées en différentes unités, par exemple en année, mois, jour, heure, etc. Chacune de ces unités est représentée par un nombre de chiffres précis. La norme est en particulier utilisée pour les sciences naturelles, pour le développement de logiciels ainsi que pour les correspondances internationales, afin de réduire le risque d’erreurs concernant les indications temporelles. L’horodatage ISO 8601 standardisé à l’échelle internationale (ISO 8601 timestamp) réduit en effet considérablement ce risque.

Après l’indication de la date et de l’heure, on ajoute souvent une indication marquant l’écart avec le temps universel, ce dernier étant abrégé en UTC. Le format prend ainsi en compte les éventuelles différences de fuseaux horaires ou les heures d’été spécifiques aux pays. En général, on utilise la lettre « Z » à cet effet.

Tableau des dates ISO 8601 avec fuseaux horaires

Exemple Explication
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 complé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’application 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 calendrier grégorien n’a été instauré qu’en 1583. Il est néanmoins possible d’utiliser la norme ISO 8601 pour des données antérieures à 1583, mais les partenaires s’échangeant les données devront s’entendre au préalable pour éviter tout malentendu.

Les avantages du standard ISO 8601 par rapport aux autres variantes habituelles

La norme ISO 8601 définit uniquement des notations numé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 formulations dépendant de la langue, telles que « le 4 février 1995 ». La norme ISO 8601 a davantage vocation à se substituer aux désignations telles que « 2/4/95 » (notation américaine) 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 comparaison simple des chaînes de caractères
  • Compréhensible et indépendante 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 caractè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à familiarisé avec ce système de notation
  • Les indications 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 représentation de l’année sur quatre chiffres ne pose pas de problème lors d’un changement de siècle.

Convertir des données

En principe, le format des données peut être converti dans deux sens différents. Tout d’abord, il est possible de convertir une date correspondant à la formulation propre à son pays dans la norme ISO. Ensuite, une date au format ISO peut également être convertie dans la langue respective.

Lorsqu’on convertit une date ISO (iso date) vers une forme lisible « simple », l’horodatage ISO 8601 se présente généralement comme suit :

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

Cette chaîne est maintenant construite sur le format de date aaaa-mm-jj. Ici, le séparateur 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 conversion suivante a maintenant pour objectif de convertir la date ISO au format de la langue allemande, c’est-à-dire de transcrire 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 possibilités de conversion manuelle, il existe certains sites sur internet qui convertissent automatiquement les dates dans le format demandé, par exemple le convertisseur DenCode.

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