タイムスタンプを処理する必要のある認証ヘッダーを持つAPIを開発中です。将来のタイムスタンプの使用をさらに必要とする可能性があり、私たちが使用するタイムゾーンが一貫していたいと思うので、APIの従来のタイムゾーンがあるかどうかを知りたいと思います。たとえばUTC + 0です。いくつかのケースでは、事前APIの従来のタイムゾーンはありますか?
答えて
で
おかげで、あなたは、(標準Date
ヘッダなど)がHTTPヘッダを見つけるRFC5322フォーマット(別名RFC2822、RFC822)です。例えば:Date
ヘッダでTue, 31 Jan 2017 17:45:00 GMT
、タイムゾーンの略語は、RFC5322フォーマットは、他のタイムゾーンを可能にするにもかかわらず、(この目的のためにUTCに相当する)は常に"GMT"
あります。
上記のフォーマットは、実際には好まれていません。あなたは確かにあなた自身のHTTPヘッダーのために望む任意のフォーマットを使用することができます。
より良いフォーマットはRFC3339 formatです。これは、拡張フォーマットISO8601に似ています。例は2017-01-31T17:45:00Z
です。最後のZ
は「GMT」または「UTC」と同じ「ズールー」時間を示します。しかし、あなたはまた、米国太平洋時間帯における同等の現地時間として、UTCからのオフセットのタイムゾーンを指定することができます。2017-01-31T09:45:00-08:00
あなたは1485884700
のようなUnixの時間数を持っている場合は、タイムゾーンが常に UTCです。しかし、これは人間が読めるものではなく、エポックや精度がどのように使われているかについてのコンテキストを提供していないため、良い交換フォーマットではありません。人は外部でそれらのことを知る必要があります。 HTTPヘッダーやXML、JSONにはあまり適していません。
XML/JSONリクエストの本文については、ISO8601のみを使用してください。人々が使用する他のいくつかのフォーマットがありますが、推奨されていません。
どのタイムゾーンを使用するべきかは、コンテキストに完全に依存しています。 タイムスタンプ - 現在の時刻を記録して記録する場合は、実際にはUTCで作業することができます。私は認可の目的のために考えると、これは妥当であろう。また、UTCからのオフセットを提供していれば、現地時間で作業することもできますので、あいまいさはありません。
しかし、あなたのデータには求人情報が含まれていると(コメントで)言っています。それはあなたが将来の時間について話しているように私に聞こえる - それは「常にUTC」ルールの例外です。将来の時間について話しているときはいつでも、現地時間での表現をする必要があります。最も直接的な形式で表現する必要があります。また、タイムゾーンの識別子(オフセットではありません)を指定する必要があります。適用されます。私は仕事の欠員について話していた場合
例えば、私は私のデータに言うかもしれない:
{
"job": "dishwasher",
"available: "2017-02-13",
"start": "08:00",
"end": "16:00",
"tz": "America/New_York"
}
これらの値は、日付のみ、時間のみのためのISO8601フォーマットに従ってください(または、私が望んでいた場合でしょうそれらを組み合わせるには2017-02-13T08:00
) - タイムゾーンは指定されていません。代わりに、IANAタイムゾーン識別子America/New_York
(米国東部時間)が別のフィールドに表示されます。
これは、仕事が将来の月に引き続き続くためです。3月12日、米国東部時間帯はUTC-5からUTC-4に変更されます。したがって、1つのオフセットを指定することはできず、UTCを使用することもできません。
また、単一の発生であっても、一部の国では、毎時tz databaseに数十件の更新があるため、タイムゾーンとDSTの規則について心を変え続けていることに注意してください。将来の日時のオフセットを計算する場合は、ロールオーバーするまでにオフセットが政府によって変更されていることがあります。
したがって、APIのタイムゾーン規則はGMT(== UTC + 1)です。努力と答えに感謝します。 – devKoen1
いいえ - 私はあなたが私の反応からそれをどうやって得たか分かりません。 GMT == UTC + 1ではなくUTC - あなたの特定のコンテキストに合ったものをする以外にも、慣例の仕方はほとんどありません。私は、あなたの状況に当てはまるかもしれないさまざまな状況の例を挙げました。 –
- 1. ソーシャルテーブルAPI:従来のAPIエンドポイントと非従来APIの削除APIエンドポイントの違い
- 2. 従来のASP:トレース用のツールはありますか?
- 3. 従来のBigQueryで日付からタイムゾーンに変換
- 4. Hibernateの従来のhbm.xmlマッピングファイルのドキュメントはどこにありますか?
- 5. インターネット上の従来のAPIの保護
- 6. Tumblr APIとの従来のASP統合
- 7. Rustプロジェクトを整理する従来の方法はありますか?
- 8. 従来のセルレイアウトですか?
- 9. 従来のASPストアドプロシージャの戻り状況
- 10. 従来のASPファイルリスト
- 11. 従来のASP&XML
- 12. 従来のASPフォームフィールド
- 13. JqueryMobile 1.0ライブラリ(プラグインではありません)に従来のモーダルダイアログがあります
- 14. 従来のリストビューはタッチスクロールしません
- 15. Web APIが従来のルーティングを使用していません
- 16. は私がトラブルだった従来のコンポーネントでは、従来のXAML
- 17. EclipseとJava - 従来のSE 6ランタイムをインストールする必要があります。
- 18. JSON APIの従来のSQLの代わりにRethinkDBを選択するのに適していますか?
- 19. 従来のデバイスドライバプログラムとはどのように違いますか?
- 20. HttpRequestを従来のASPページからASP.NET MVCアクションに渡す方法に関するアイデアはありますか?
- 21. Django-CMSの残りのAPIのページをフィルタリングする従来の方法は何ですか?
- 22. Microsoft Graph APIは従来のPartner CREST APIとどのような機能を持っていますか
- 23. 従来のASPでは、アプリケーションレベルでエラーを処理する方法はありますか?
- 24. は私のスタックフレームは、従来の1
- 25. C++で従来のC APIをラップしてイテレータをサポートする
- 26. CloudKitクエリが完了するのを待つ単体テストを書く従来の方法はありますか?
- 27. STLの移動およびコピーコンストラクタの通知を受ける従来の方法はありますか?
- 28. カレンダーイベントAPIイベント日付がデバイスのタイムゾーンに従わない
- 29. Railsのマイグレーション従来のネーミング
- 30. "従来の"サイト用のNode.js
どのような種類のAPIですか?特定の形式が関係していますか?あなたが共有できるいくつかの使用状況はありますか?わかりやすい例を教えてください。 –
ジョブ空きに関するデータを含むXMLおよびJSONオブジェクトを提供し、受け入れるRESTful APIです。主に私たち自身の国であるが、時には外国にある。承認ヘッダーで処理されるタイムスタンプはunixです。これは十分な情報ですか? – devKoen1
実際はそうではありませんでしたが、私はこの分野で考えるべき大部分の事柄に対処すべきかなり長い包括的な答えを書いていました。 [dst/tzベストプラクティス](http://stackoverflow.com/questions/2532729/daylight-saving-time-and-time-zone-best-practices)の記事も必ずお読みください。 –