Некоторые запросы, которые создают новые данные, например создание новой фиксации, позволяют предоставлять сведения о часовом поясе при указании или создании меток времени.
Обратите внимание, что эти правила применяются только к данным, передаваемым в API, а не к данным, возвращаемым API. Метки времени, возвращаемые API, находятся в формате UTC, формате ISO 8601.
Определение часового пояса для запроса
Чтобы определить сведения о часовом поясе для применимых вызовов API, мы применяем эти правила в порядке приоритета:
-
[Явное предоставление метки времени ISO 8601 со сведениями о часовом поясе](#explicitly-providing-an-iso-8601-timestamp-with-timezone-information) -
[Использование заголовка `Time-Zone`](#using-the-time-zone-header) -
[Использование последнего известного часового пояса для пользователя](#using-the-last-known-timezone-for-the-user) -
[Использование UTC по умолчанию при отсутствии других сведений о часовом поясе](#defaulting-to-utc-without-other-timezone-information)
Явное предоставление метки времени ISO 8601 со сведениями о часовом поясе
Для вызовов API, позволяющих указать метку времени, мы используем такую метку времени. Метки времени выглядят примерно так: 2014-02-27T15:05:06+01:00.
Примером этого является API для управления фиксациями. Дополнительные сведения см. в разделе Конечные точки REST API для фиксаций Git.
Использование заголовка Time-Zone
Можно указать заголовок, который определяет часовой Time-Zone пояс в соответствии со списком имен из базы данных Olson.
curl -H "Time-Zone: Europe/Amsterdam" -X POST http(s)://HOSTNAME/api/v3/repos/github-linguist/linguist/contents/new_file.md
Это означает, что мы создадим метку времени на момент выполнения вызова API в часовом поясе, который определяет этот заголовок.
Например, API для управления содержимым создает фиксацию Git для каждого добавления или изменения, и он использует текущее время в качестве метки времени. Дополнительные сведения см. в разделе Конечные точки REST API для содержимого репозитория. Заголовок Time-Zone определяет часовой пояс, используемый для создания текущей метки времени.
Использование последнего известного часового пояса для пользователя
Если заголовок Time-Zone не указан и вы выполняете вызов API с проверкой подлинности, мы используем последний известный часовой пояс для пользователя, прошедшего проверку подлинности. Последний известный часовой пояс обновляется всякий раз при просмотре веб-сайта GitHub .
Использование UTC по умолчанию при отсутствии других сведений о часовом поясе
Если приведенные выше действия не приводят к какой-либо информации, мы используем UTC в качестве часового пояса.