Skip to main content

표준 시간대 및 REST API

일부 REST API 엔드포인트를 사용하면 요청에 표준 시간대 정보를 지정할 수 있습니다.

새 커밋 만들기와 같이 새 데이터를 만드는 일부 요청에서는 타임스탬프를 지정하거나 생성할 때 표준 시간대 정보를 제공할 수 있습니다.

이러한 규칙은 API에서 반환된 데이터가 아니라 API에 전달된 데이터에만 적용됩니다. API에서 반환된 타임스탬프는 UTC 시간 ISO 8601 형식입니다.

요청의 표준 시간대 결정

해당하는 API 호출에 대한 표준 시간대 정보를 결정하기 위해 우선 순위에 따라 다음 규칙을 적용합니다.

  1. ISO 8601 타임스탬프에 표준 시간대 정보를 명시적으로 제공
  2. Time-Zone 헤더 사용
  3. 사용자에 대해 마지막으로 알려진 표준 시간대 사용
  4. 다른 표준 시간대 정보 없이 UTC로 기본 설정

ISO 8601 타임스탬프에 표준 시간대 정보를 명시적으로 제공

타임스탬프를 지정할 수 있는 API 호출의 경우 정확한 타임스탬프를 사용합니다. 이러한 타임스탬프는 2014-02-27T15:05:06+01:00과 같습니다.

이에 대한 예제는 메모를 관리하는 API입니다. 자세한 내용은 "Git 커밋에 대한 REST API 엔드포인트"을(를) 참조하세요.

Time-Zone 헤더 사용

Olson 데이터베이스의 이름 목록에 따라 표준 시간대를 정의하는 Time-Zone 헤더를 제공할 수 있습니다.

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 Enterprise Server 웹 사이트로 이동할 때마다 업데이트됩니다.

다른 표준 시간대 정보 없이 UTC로 기본 설정

위의 단계를 수행해도 정보가 생성되지 않으면 UTC를 표준 시간대로 사용합니다.