0

これはばかげた質問かもしれませんが、とにかく悪い質問です。

投稿で適切なタイムスタンプを取得するには、サイトにgmtを実装する必要がありますか?ツイッターのようなサイトを構築しています。私のフィードは正常に機能していて、「11分投稿、昨日投稿、5日前投稿..」のように必要な時間を表示しているので、このサイトと同じように、すべての人に適切に機能するはずだと思っていました。 ?または、私はそれにgmtを実装する必要があると思いますか、それを適切な方法で実装するための推奨事項または記事がありますか?

この音がばかげたらごめんなさい:O

4

3 に答える 3

2

長期的には、ユーザーインターフェイスのレンダリング方法に関係なく、タイムスタンプは常にGMT/UTCで保存するのが最適です。これには2つの利点があります。

  • ある時点でUIを変更するときに、データに触れる必要はありません
  • それは明確な設計ガイドラインを提供します(明確な正しい/間違った決定の観点から):時間を扱う特定の機能は、独立してレビューすることができます。UTCでのタイムスタンプの処理

特定のプログラミングガイドラインについて:これらは、実行したい機能に大きく依存します。ほとんどの場合、from-utcまたはto-utc操作が必要です。

于 2009-10-12T13:49:26.170 に答える
1

良い点ですが、1日前に「昨日」と表示されていて、現在は午前1時5分になっているユーザーもいます。days = datediff(then、now).daysではなくdays = hours%24を使用している場合は、正常に機能すると思います。

問題は、サイトがどれだけ正確である必要があるかということだと思います。それが医学的測定のためである場合、誰かが彼らの投薬の期日を知ることができるので、そうです、あなたはタイムゾーンを適切に説明し、単に「x前」ではなく正確な時間を与えたいと思います。しかし、「ジョーが2日前にこんにちはと言った」だけの場合は、大したことではありません。

于 2009-10-12T13:41:04.580 に答える
1

時間、分、秒などの期間について話している場合、それはタイムゾーンとは何の関係もありません。それが作成されたときのタイムスタンプを見て、今すぐタイムスタンプを見てください。いくつかの減算と出来上がりをしてください!

それが少し奇妙なのは、あなたが数日の範囲にいるときだけです。昨日は「最後の真夜中の24時間前のある時間」を意味しますか、それとも「24時間以上前」を意味しますか?いずれにせよ、提供する粒度のレベルが「日数」のみである場合、それが約2日を過ぎたら、それは実際には問題ではありません。

混乱を避けるための良い方法の1つは、SOでここで使用されているのと同じ方法です。読みやすく親しみやすい日付を画面(「昨日」)に表示しますが、正確な時刻(GMTまたはユーザーのTZ)をツールチップとして表示します。

于 2009-10-12T13:45:49.873 に答える