Interprétation de la date et de l’heure

Analyse générale de la date et de l’heure

Les dates et heures publiées dans Darwin Core devraient utiliser la norme ISO 8601-1:2019. Un seul jour est représenté au format année-mois-jour (YYYY-MM-DD), par exemple 2023-09-18. Une heure peut être ajoutée en ajoutant T et l’heure au format 24 heures, par exemple 2023-09-18T13:27:00.

Les fuseaux horaires peuvent être fournis 2023-09-18T13:27:00Z (UTC, GMT) et 2023-09-18T15:27:00+02:00 (heure d’été d’Europe centrale) représentent tous deux le même moment dans le temps, mais voir ci-dessous pour savoir comment nous traitons les informations relatives aux fuseaux horaires.

Lorsque la date n’est pas précise, et que seuls le mois ou l’année sont connus, le jour ou le mois peuvent être omis. 2023-09 signifie une date quelconque en septembre 2023, 2023 signifie une date quelconque en 2023.

Un intervalle de temps peut être représenté en séparant deux date-heures avec une précision égale à l’aide de /, par exemple 2023-09-05/2023-09-18 signifie une date comprise entre le 5 septembre 2023 et le 18 septembre 2023. 2023-01/2023-09 signifie janvier à septembre 2023, 2000/2023 couvre une période de 24 ans du début de l’année 2000 à la fin de l’année 2023, et 2023-09-10T03:54:00/2023-09-18T13:27:30 est une plage dont le début et la fin sont précis à la seconde près.

La norme ISO 8601-1:2019 inclut une forme abrégée pour les intervalles de date, dans laquelle les parties de la date qui ne sont pas changées peuvent être omises. Pour faciliter l’analyse pour les utilisateurs de l’API, nous normalisons cela sous la forme complète : 2023-09-05/18 devient 2023-09-05/2023-09-18, 2023-01/09 devient 2023-01/2023-09 etc.

Le système GBIF supporte seulement les date-heures qui représentent des intervalles dans certains champs ; voir ci-dessous.

Les dates fournies dans d’autres formats (March 1986, 13.03.1986, 03/13/1986, 13.III.1986, 13 March 1986 to 5 April 1987 etc.) peuvent être interprétées, lorsque cela est possible sans ambiguïté, mais ces formats ne sont pas recommandés. Les occurrences dont les dates ne peuvent être traitées seront signalées par les problèmes DATE_D’ENREGISTREMENT_NON_VALIDE, DATE_D’IDENTIFICATION_ NON_VALIDE, DATE_GÉORÉFÉRENCÉE_NON_VALIDE ou DATE_DE_MODIFICATION_NON_VALIDE. Darwin Core inclut un champ de verbatimEventDate pour enregistrer la date originale.

En plus, les occurrences seront signalées par les problèmes DATE_D’ENREGISTREMENT_PEU_PROBABLE, DATE_D’IDENTIFICATION_PEU_PROBABLE, DATE_GÉORÉFÉRENCÉE_PEU_PROBABLE or DATE_DE_MODIFICATION_PEU_PROBABLE si ces dates sont dans le futur ou si loin dans le passé qu’elles sont peu probables.

Date d’enregistrement de l’occurrence

Huit champs Darwin Core représentent tout ou partie de la date et de l’heure auxquelles une occurrence a été enregistré :

ÀFAIRE : Décrire comment cella affecte les enregistrements publiés à l’aide de BioCASe.

Avec six champs, il existe la possibilité de conflit entre les valeurs. Nos procédures d’interprétation tentent de trouver une date cohérente avec les valeurs fournies, en ajoutant des problèmes à l’enregistrement d’occurrence s’il y a des problèmes. Si des valeurs sont manquantes mais ne sont pas en conflit, elles sont ajoutées sans qu’un problème soit signalé.

Voici des exemples d’enregistrements après interprétation, où les six champs sont cohérents :

Table 1. Champs de date d’événement cohérents après interprétation
eventDate year month day startDayOfYear endDayOfYear

2023-01-13T09:32:00Z

2023

1

13

13

13

2023-01-13T09:32:00

2023

1

13

13

13

2023-01-13T09:32:00/2023-01-13T18:12:00

2023

1

13

13

13

2023-01-13T09:32:00/2023-01-15T20:22:00

2023

1

13

15

2023-01-13

2023

1

13

13

13

2023-01-13/2023-01-15

2023

1

13

15

2023-01-13/2023-02-03

2023

13

34

2023-01-13/2024-03-09

13

69

2023-01

2023

1

2023-01/2023-02

2023

2023-01/2024-02

2023

2023

2023/2024

Notez que les informations relatives au fuseau horaire ne sont conservées que lorsque le fuseau horaire est Z (UTC). Dans d’autres cas, les informations relatives au fuseau horaire varient considérablement d’une donnée à l’autre, et il n’est pas possible de les traiter de manière cohérente. Un enregistrement fourni avec eventDate 2023-01-13T09:32:00+01:00 (Copenhague, Danemark) et un autre fourni avec 2023-01-13T09:32:00+14:00 (Îles de la Ligne, Kiribati) seront interprétés comme 2023-01-13T09:32:00.

Conseils aux éditeurs

Il est tout à fait acceptable de ne fournir que le champ eventDate, laissant ainsi GBIF interpréter et remplir les champs year, month, day, startDayOfYear et endDayOfYear. Il est également possible de ne fournier que year, year+month, ou year+month+day (en fonction des données disponibles).

Évitez de fournier des données incorrectes ou incomplètes — ne fixez pas le jour (dans le cadre de eventDate ou en tant que day) sur 0 ou 1 si vous ne connaissez que l’année ou le mois.

La publication d’une combinaison de eventDate et/ou year+month+day et/ou year+startDayOfYear+endDayOfYear permet au GBIF de calculer un ensemble cohérent de champs de date enregistrés. Si vous fixez plusieurs de ces ensembles de champs, assurez-vous qu’ils sont cohérents !

Traitement des incohérences

1. Un year+month+day pour une date comprise dans la plage eventDate

Ceci est accepté sans problème. La précision du eventDate est conservée, et les champs year, month et day sont laissés vides si la plage s’étend sur plus d’un an, un mois et/ou un jour.

Table 2. Un year+month+day pour une date comprise dans la plage eventDate, avec start/endDayOfYear
eventDate year month day startDayOfYear endDayOfYear problèmes

Publié

2023-01-13/2023-02-03

2023

01

25

13

34

Interprété

2023-01-13/2023-02-03

2023

13

34

Table 3. Un year+month+day pour une date comprise dans la plage eventDate
eventDate year month day startDayOfYear endDayOfYear problèmes

Publié

2023-01-13/2023-02-03

2023

01

25

13

34

Interprété

2023-01-13/2023-02-03

2023

13

34

2. Incompatibilité des dates

Table 4. Incompatibilité des dates
Problème eventDate year month day start​Day​Of​Year end​Day​Of​Year problèmes

Mois et jour sont en dehors de l’intervalle eventDate

Publié

2023-01-13/2023-02-03

2023

03

03

Interprété

2023

2023

DATE_​ENREGISTRÉE_​NE_​CORRESPOND_​PAS

Le jour est différent du jour du eventDate

Publié

2023-01-13

2023

01

03

Interprété

2023-01

2023

01

DATE_​ENREGISTRÉE_​NE_​CORRESPOND_​PAS

Le début et la fin de l’intervalle eventDate sont différents du startDayOfYear et du endDayofYear

Publié

2023-01-13/2023-02-03

18

44

Interprété

2023

2023

DATE_​ENREGISTRÉE_​NE_​CORRESPOND_​PAS

Le mois est différent du mois dans eventDate.

Publié

2023-01

2023

02

Interprété

2023

2023

DATE_​ENREGISTRÉE_​NE_​CORRESPOND_​PAS

Date d’identification de l’occurrence

Le champ identifiedDate est interprété comme une date unique ou une date-heure (et non comme un intervalle).

Date de géoréférencement

Le champ georeferencedDate est interprété comme une date unique ou une date-heure (et non comme un intervalle).

Date de modification

Le champ modified est interprété comme une date unique ou une date-heure (et non comme un intervalle).

Recherche de dates

Les occurrences sont renvoyées par les API de recherche et de téléchargement si la date/plage de dates d’occurrence se situe entièrement dans la date ou la plage de dates de la requête.

Table 5. Recherches par date
Enregistrement avec eventDate 2023-01-11 2023-01 2023-01-11/12 2020/2021 Signification de la recherche

Rechercher eventDate=2023-01-11

inclus

exclu

exclu

exclu

Rechercher "le 11 janvier 2023"

Rechercher eventDate=2023-01-11,2023-01-12

inclus

exclu

inclus

exclu

Rechercher "du début du 11 janvier 2023 jusqu’à la fin du 12 janvier 2023"

Rechercher eventDate=*,2023-01

inclus

inclus

inclus

inclus

Rechercher "avant la fin de janvier 2023"

Rechercher eventDate=2023-01,2023-01

inclus

inclus

inclus

exclu

Rechercher "après le début de janvier 2023 et avant la fin de janvier 2023"

Rechercher eventDate=2023-01

inclus

inclus

inclus

exclu

Rechercher "après le début de janvier 2023 et avant la fin de janvier 2023"

Cette implémentation évite de renvoyer des occurrences avec des eventDates telles que "2000/2021" dans de nombreuses requêtes. (Il existe des millions d’occurrences avec des plages aussi larges.)