1

注文をキャプチャする必要があり、その人が注文したときのタイムスタンプを保存する必要があるとしましょう。さらに、ユーザーがパスワードのリセット コードを要求したタイミングに基づいて、トークンの有効期限がいつ切れるかを追跡する方法が必要です。私のサーバーは TX にありますが、アメリカ全土にいるユーザーにどのように対応できますか? 私が最後にやりたいことは、彼らがどのタイムゾーンにいるかを彼らに尋ねることです.UTCで時間を表示する方法がわかりませんでした.これは普通の人を混乱させるでしょう.

4

1 に答える 1

2

まず、ディスプレイストレージから分離する必要があります。特定の方法で値を保存したからといって、その方法で表示する必要があるわけではありません。

次に、実際にキャプチャしているものについて考えてみましょう。それはタイムスタンプです。グローバルな「今」の考え方。ここでは時間帯は問題ではありません。異なる時間帯にいる 2 人の合理的な人は、時間帯に関係なく、どちらが最初に注文したかについて合意します。

したがって、タイムスタンプを UTC で保存することは完全に合理的です。実際、ほとんどの場合、タイムスタンプは UTC で保存するのが最適です。現地時間が意味を成す場合があるのは、ユーザーの日付/時刻のアイデアを求めている場合のみです。

ユーザーの現地時間で値を表示する方法については、注意が必要です。

  • 配送先住所などから推測できます
  • IP アドレスに基づいて推測できます (いくつかの興味深い問題がある可能性があります)。
  • 一度推測して設定に保存し、必要に応じて修正できるようにすることができます
  • UTC値を提供し、それをクライアントで現地時間に変換することで、Javascriptでそれを行うことができます

(もちろん、タイムゾーンを推測するときは、Javascript で UTC からローカルへの変換をいつでも使用して、その推測を正確にすることができます。)

于 2012-06-24T20:09:32.097 に答える