{"meta":{"title":"タイムゾーンと REST API","intro":"一部の REST API エンドポイントでは、リクエストでタイムゾーン情報を指定できます。","product":"REST API","breadcrumbs":[{"href":"/ja/enterprise-cloud@latest/rest","title":"REST API"},{"href":"/ja/enterprise-cloud@latest/rest/using-the-rest-api","title":"REST API を使用して"},{"href":"/ja/enterprise-cloud@latest/rest/using-the-rest-api/timezones-and-the-rest-api","title":"タイムゾーン"}],"documentType":"article"},"body":"# タイムゾーンと REST API\n\n一部の REST API エンドポイントでは、リクエストでタイムゾーン情報を指定できます。\n\n新しいコミットの作成など、新しいデータを作成する一部のリクエストでは、タイムスタンプを指定または生成するときにタイムゾーン情報を提供できます。\n\nこれらのルールは、APIに渡されたデータに対してのみ適用され、APIが返すデータには適用されないことに留意してください。 API が返すタイムスタンプは UTC 時間であり、ISO 8601 形式です。\n\n## リクエストに対するタイムゾーンの決定\n\nAPI 呼び出しに適用するタイムゾーン情報を決定するために、優先順位に従って次のルールを適用します。\n\n1. [ISO 8601 タイムスタンプにタイムゾーン情報を明示的に提供する](#explicitly-providing-an-iso-8601-timestamp-with-timezone-information)\n2. [\n   `Time-Zone` ヘッダーの使用](#using-the-time-zone-header)\n3. [ユーザーが最後に認識されたタイムゾーンを使用する](#using-the-last-known-timezone-for-the-user)\n4. [他のタイムゾーン情報がないため、UTC にデフォルト設定されます](#defaulting-to-utc-without-other-timezone-information)\n\n### ISO 8601 タイムスタンプにタイムゾーン情報を明示的に提供する\n\nタイムスタンプを指定できる API 呼び出しの場合、その正確なタイムスタンプを使用します。 これらのタイムスタンプは `2014-02-27T15:05:06+01:00` のようになります。\n\nこの例として、コミットを管理する API があります。 詳しくは、「[Git コミット用 REST API エンドポイント](/ja/enterprise-cloud@latest/rest/git/commits#create-a-commit)」をご覧ください。\n\n### `Time-Zone` ヘッダーの使用\n\n`Time-Zone` ヘッダーを指定することが可能です。このヘッダーでは、[Olsonデータベースの名前リスト](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)に従ってタイムゾーンを定義します。\n\n```shell\ncurl -H \"Time-Zone: Europe/Amsterdam\" -X POST https://api.github.com/repos/github-linguist/linguist/contents/new_file.md\n```\n\nつまり、このヘッダーが定義するタイムゾーンで API 呼び出しが行われた時のタイムスタンプが生成されます。\n\nたとえば、コンテンツを管理するための API によって、追加または変更ごとに git コミットが生成され、タイムスタンプとして現在の時刻が使用されます。 詳しくは、「[リポジトリ コンテンツの REST API エンドポイント](/ja/enterprise-cloud@latest/rest/repos/contents)」をご覧ください。\n`Time-Zone` ヘッダーは、現在のタイムスタンプの生成に使用するタイムゾーンを決定します。\n\n### ユーザーが最後に認識されたタイムゾーンを使用する\n\n`Time-Zone` ヘッダーが指定されておらず、API への認証された呼び出しを行う場合、認証されたユーザーが最後に認識されたタイムゾーンが使用されます。 最後に認識されたタイムゾーンは、GitHub Web サイトを閲覧するたびに更新されます。\n\n### 他のタイムゾーン情報を含まない UTC を既定値に設定する\n\n上記の手順で情報が得られない場合は、UTC をタイムゾーンとして使用します。"}