一些创建新数据(如创建新提交)的请求允许您在指定或生成时间戳时提供时区信息。
请注意,这些规则仅适用于传递给 API 的数据,不适用于 API 返回的数据。API 返回的时间戳采用 UTC 时间,ISO 8601 格式。
要确定适用的 API 调用的时区信息,我们按优先级顺序应用以下规则
- 明确提供带有时区信息的 ISO 8601 时间戳
- 使用
Time-Zone
标头
- 使用用户的上次已知时区
- 在没有其他时区信息的情况下,默认为 UTC
对于允许指定时间戳的 API 调用,我们使用该确切时间戳。这些时间戳看起来类似于 2014-02-27T15:05:06+01:00
。
一个示例是管理提交的 API。有关更多信息,请参阅“Git 提交的 REST API 端点”。
可以提供 Time-Zone
标头,该标头根据 Olson 数据库中名称列表定义时区。
curl -H "Time-Zone: Europe/Amsterdam" -X POST https://api.github.com/repos/github-linguist/linguist/contents/new_file.md
这意味着我们为您的 API 调用进行的时刻生成一个时间戳,在该标头定义的时区中。
例如,用于管理内容的 API 为每次添加或更改生成一个 git 提交,并使用当前时间作为时间戳。有关更多信息,请参阅“存储库内容的 REST API 端点”。Time-Zone
标头将确定用于生成该当前时间戳的时区。
如果没有指定 Time-Zone
标头,并且您对 API 进行身份验证调用,我们将使用经过身份验证的用户的上次已知时区。每当您浏览 GitHub 网站时,上次已知时区都会更新。
如果上述步骤未产生任何信息,我们将使用 UTC 作为时区。