Skip to main content

Fuseaux horaires et API REST

Certains points de terminaison d’API REST vous permettent de spécifier des informations de fuseau horaire avec votre demande.

Certaines demandes qui créent de nouvelles données, par exemple une validation, vous permettent de fournir des informations de fuseau horaire lorsque vous spécifiez ou générez des horodatages.

Notez que ces règles s’appliquent uniquement aux données transmises à l’API, et non aux données retournées par celle-ci. Les horodatages retournés par l’API sont au format UTC ISO 8601.

Déterminer un fuseau horaire pour une demande

Pour déterminer les informations relatives au fuseau horaire pour les appels API applicables, nous appliquons ces règles par ordre de priorité :

  1. Indication explicite d’un horodatage ISO 8601 avec des informations de fuseau horaire
  2. Utilisation de l’en-tête Time-Zone
  3. Utilisation du dernier fuseau horaire connu pour l’utilisateur
  4. Application de la valeur par défaut UTC sans autres informations de fuseau horaire

Indication explicite d’un horodatage ISO 8601 avec des informations de fuseau horaire

Dans le cas des appels d’API qui autorisent la spécification d’un horodatage, nous utilisons cet horodatage précis. Ces horodatages se présentent ainsi : 2014-02-27T15:05:06+01:00.

L’API qui permet de gérer les commits en est un exemple. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les validations Git ».

Utilisation de l’en-tête Time-Zone

Il est possible de fournir un en-tête Time-Zone, qui définit un fuseau horaire en fonction de la liste des noms de la base de données Olson.

curl -H "Time-Zone: Europe/Amsterdam" -X POST http(s)://HOSTNAME/api/v3/repos/github-linguist/linguist/contents/new_file.md

Cela signifie qu’un horodatage est généré pour le moment où l’appel d’API est effectué, dans le fuseau horaire défini par cet en-tête.

Par exemple, l’API qui permet de gérer les contenus génère une validation Git pour chaque ajout ou modification et elle utilise l’heure actuelle comme horodatage. Pour plus d’informations, consultez « Points de terminaison d’API REST pour les contenus du référentiel ». L’en-tête Time-Zone détermine le fuseau horaire utilisé pour générer cet horodatage actuel.

Utilisation du dernier fuseau horaire connu pour l’utilisateur

Si aucun en-tête Time-Zone n’est spécifié lorsque vous effectuez un appel authentifié à l’API, le fuseau horaire utilisé est le dernier fuseau connu de l’utilisateur authentifié. Il est mis à jour chaque fois que vous parcourez le site web GitHub Enterprise Server.

Application de la valeur par défaut UTC sans autres informations de fuseau horaire

Si la procédure ci-dessus ne produit aucune information, c’est le fuseau horaire UTC qui est utilisé.