この質問は 2 回に分けて投稿する必要があるかもしれませんが、私は現在、いくつかのビジネス カスタマー向けの API を持っています。現在、時刻を表すために UTC タイム ゾーンの ISO 8601 タイムスタンプを使用しています。ただし、これらのタイムスタンプが任意のタイムゾーンに関連付けられているという考えは好きではありません。なぜなら、どのタイムゾーンにいても時刻は同じでなければならないからです.5PM UTCは5PM CSTである必要があります.
ISO タイムスタンプの Z を省略できることはわかっています。Z は、現在の現地時間として解釈されます。これは問題ありませんか? もしそうなら、Rubyでこれを行うにはどうすればよいですか? Time クラスのドキュメントを読みましたが、これについては何もわかりませんでした。
編集:これを少し言い直すか、少なくとも何かを明確にしましょう。タイムゾーンに関連付けられていないタイムスタンプを探しているのは、クライアント サーバーと API サーバーがほとんど一致しないことを知っているからです。クライアントが時刻付きのイベントを送信する場合、その時刻は、ユーザーが作業しているイベントに固有のあいまいなロケールとあいまいに等しい必要があります。
それは一口です...私がイベントスケジューラに取り組んでいると仮定します。各イベントは、会社の店頭または場所に属します。場所の時間が表示されている場合、表示される時間はその場所のタイムゾーンであると想定され、明確にするために、ユーザーのローカル タイムゾーンにフォーマットされた時間で表示されるべきではありません。東海岸のスケジューラを見ているが、西海岸の場所のイベントを見ている場合、表示される時間は西海岸の場所にローカルであり、タイムゾーンに合わせて調整されていません。
関連付けられている場所のタイムゾーン情報を使用して時間を単純に保存することで解決できることはわかっています。しかし、ユーザーが時間を自分のタイムゾーンに変換したいというユースケースは非常にまれであり、API の実装をより簡単にしたいと考えています...これは実際には私の最初の実装でしたが、API をさまざまな環境や複数の環境に実装しています多くのプログラミング言語で、そのタイムスタンプのタイムゾーンにローカルな時間を表示することがハードルであることが明らかになりました。ユーザーが時刻をローカル タイムゾーンに変換したい場合、ロケーション オブジェクト自体のグローバル タイムゾーン情報を簡単に保存できます。