4

私たちが持っているソフトウェアのリマインダー システムを作成しています。現在、ユーザーに思い出させたい時間を教えてもらい、それをデータベースに保存しています。

その後、データベースのリマインダー時刻を定期的にチェックするサービスがあります。リマインダーの時刻がサーバーの時刻と一致する場合、システムはユーザーに電子メールを送信します。

タイムゾーンの違いにより、これが機能しない可能性があることに今気づきました。

私の質問は、リマインダーが正確になるように、サーバーとクライアントの時差を処理す​​る最善の方法は何ですか?

たとえば.....私たちのサーバーは中央時間の午後6時に設定されています...東海岸にいるユーザーは午後7時にリマインダーを望んでいます...これは私のサーバーが必要であることを意味しますサーバー時間の午後 6 時にリマインダーを送信します。

質問が明確であることを願っています。

4

2 に答える 2

6

すべてを内部的に UTC で処理し、クライアント ソフトウェアに地域固有の翻訳を行わせることをお勧めします。そうすれば、任意のタイム ゾーンをサポートできます。サーバーを別の場所に移動する必要がある場合や、サービスがマルチホームになるほど人気が​​高くなった場合でも問題ありません。

于 2011-10-11T19:34:46.620 に答える
2

すべてを世界時で保存し、その変換に基づいてクライアントを更新します。

簡単に言えば、クライアントに EST 6:00 のリクエストを送信させる代わりに、最初に EST と UTC の間の変換を計算させ、代わりに UTC を送信させます。

于 2011-10-11T19:34:33.560 に答える