Skip to main content

Enterprise Server 3.20 está disponível no momento como versão candidata a lançamento.

Fusos horários e a API REST

Alguns pontos de extremidade da API REST permitem que você especifique informações de fuso horário com sua solicitação.

Algumas solicitações que criam novos dados, como a criação de um novo commit, permitem fornecer informações de fuso horário ao especificar ou gerar timestamps.

Observe que essas regras se aplicam somente a dados passados para a API, não a dados retornados pela API. Os carimbos de data/hora retornados pela API estão em formato UTC, ISO 8601.

Determinando o fuso horário de uma solicitação

Para determinar as informações do fuso horário das chamadas de API aplicáveis, empregamos as seguintes regras em ordem de prioridade:

  1.        [Fornecer explicitamente uma marca de tempo ISO 8601 com informações de fuso horário](#explicitly-providing-an-iso-8601-timestamp-with-timezone-information)
    
  2.        [Usar o cabeçalho `Time-Zone`](#using-the-time-zone-header)
    
  3.        [Usar o último fuso horário conhecido para o usuário](#using-the-last-known-timezone-for-the-user)
    
  4.           [Definir como padrão UTC sem outras informações de fuso horário](#defaulting-to-utc-without-other-timezone-information)
    

Fornecer explicitamente uma marca de tempo ISO 8601 com informações de fuso horário

Para chamadas de API que permitem que uma marca de tempo seja especificada, usamos essa marca de tempo exata. Esses timestamps são como 2014-02-27T15:05:06+01:00.

Um exemplo disso é a API para gerenciar commits. Para saber mais, confira Pontos de acesso da API REST para commits do Git.

Usar o cabeçalho Time-Zone

É possível fornecer um cabeçalho Time-Zone que define um fuso horário de acordo com a lista de nomes do banco de dados Olson.

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

Isso significa que geramos um carimbo temporal no momento em que sua chamada de API é feita, no fuso horário que esse cabeçalho define.

Por exemplo, a API para gerenciamento de conteúdos gera um commit no Git para cada adição ou alteração e usa a hora atual como timestamp. Para saber mais, confira Endpoints da API REST para conteúdo de repositório. O cabeçalho Time-Zone determinará o fuso horário usado para gerar este timestamp atual.

Usar o último fuso horário conhecido para o usuário

Se nenhum cabeçalho Time-Zone for especificado e você fizer uma chamada autenticada para a API, nós usaremos o último fuso horário conhecido para o usuário autenticado. Sempre que você navega no site do GitHub, o último fuso horário conhecido é atualizado.

Definir como padrão UTC sem outras informações de fuso horário

Se as etapas acima não resultarem em nenhuma informação, usaremos UTC como o fuso horário.