Skip to main content

Zeitzonen und die REST-API

Einige REST-API-Endpunkte ermöglichen es Ihnen, Zeitzoneninformationen zu Ihrer Anforderung hinzuzufügen.

Einige Anforderungen, die neue Daten erstellen (z. B. das Erstellen eines neuen Commits), ermöglichen es Ihnen, Zeitzoneninformationen bereitzustellen, wenn Sie Zeitstempel angeben oder generieren.

Beachten Sie, dass diese Regeln nur für Daten gelten, die an die API übergeben werden, und nicht für Daten, die von der API zurückgegeben werden. Von der API zurückgegebene Zeitstempel liegen gemäß ISO 8601 im UTC-Zeitformat vor.

Bestimmen der Zeitzone für eine Anforderung

Wir wenden die folgenden Regeln in der Reihenfolge ihrer Priorität an, um Zeitzoneninformationen für solche API-Aufrufe zu ermitteln:

  1. Explizites Bereitstellen eines ISO 8601-Zeitstempels mit Zeitzoneninformationen
  2. Verwenden des Time-Zone-Headers
  3. Verwenden der letzten bekannten Zeitzone für Benutzer*innen
  4. Standardmäßiges Festlegen auf UTC ohne andere Zeitzoneninformationen

Explizites Bereitstellen eines ISO 8601-Zeitstempels mit Zeitzoneninformationen

API-Aufrufe, die das Angeben eines Zeitstempels ermöglichen, wird dieser genaue Zeitstempel verwendet. Diese Zeitstempel sehen in etwa wie 2014-02-27T15:05:06+01:00 aus.

Ein Beispiel hierfür ist die API zum Verwalten von Commits. Weitere Informationen findest du unter REST-API-Endpunkte für Git-Commits.

Verwenden des Time-Zone-Headers

Es ist möglich, einen Time-Zone-Header zu geben, der eine Zeitzone gemäß der Liste der Namen aus der Olson-Datenbank definiert.

curl -H "Time-Zone: Europe/Amsterdam" -X POST https://api.github.com/repos/github-linguist/linguist/contents/new_file.md

Dies bedeutet, dass wir einen Zeitstempel für den Zeitpunkt generieren, zu dem Ihr API-Aufruf in der Zeitzone erfolgt, die dieser Header definiert.

Die API zum Verwalten von Inhalten generiert beispielsweise einen Git-Commit für jede Ergänzung oder Änderung und verwendet die aktuelle Zeit als Zeitstempel. Weitere Informationen findest du unter REST-API-Endpunkte für Repositoryinhalt. Der Time-Zone-Header bestimmt die Zeitzone, die zum Generieren dieses aktuellen Zeitstempels verwendet wird.

Verwenden der letzten bekannten Zeitzone für Benutzer*innen

Wenn kein Time-Zone-Header angegeben ist und du einen authentifizierten Aufruf der API vornimmst, verwende die letzte bekannte Zeitzone für die authentifizierten Benutzer*innen. Die letzte bekannte Zeitzone wird aktualisiert, wenn du die GitHub Enterprise Cloud-Website durchsuchst.

Standardmäßiges Festlegen auf UTC ohne andere Zeitzoneninformationen

Wenn die obigen Schritte keine Informationen ergeben, verwenden wir UTC als Zeitzone.