0

私は、さまざまな国から多くのユーザーが来るウェブサイトを持っています。ユーザーはタイムゾーンに基づいてタスクをスケジュールできます。サーバー上で 1 分ごとに実行されている cron があり、cron はスクリプトを実行して、ユーザーのスケジュールされたタスクがあるかどうかをチェックし、ある場合は必要な処理を行います。

私のサーバーは米国にあるため、cron によって実行されるスクリプトは米国のタイムゾーンを考慮します。サーバーのタイムゾーンではなく、ユーザーのタイムゾーンに基づいてユーザーのタスクを実行するスクリプトで何をする必要がありますか?

アイデアをお寄せいただきありがとうございます

4

2 に答える 2

0
  1. ユーザーのタイムゾーンを検索します。

  2. ユーザーのタイムゾーンで現在の時刻を計算します。

  3. ジョブごとに、最後に実行された時間を検索し、次に実行する必要がある時間を計算します。

  4. 次回の実行時間が現在または過去のジョブについては、そのジョブを実行し、各ジョブが最後に実行されたときの記録を更新します。

于 2013-01-19T06:42:30.033 に答える
0

私は数ヶ月前にiPhoneで似たようなことをしました。

私の解決策は、時間を文字列としてキャプチャすることでした。したがって、ユーザーが午前 8 時を選択した場合、08:00 とそのタイム ゾーン (ヨーロッパ/ロンドンなど) をキャプチャします。

私のサーバーでは約 5 分ごとに、この 08:00 をタイムゾーンに基づいて現在の UTC 時間に変換できます。この時間が「現在」である場合、ユーザーのトランスポート ステータスをチェックし、アラートを発行します。

TimeZones を支援するために、私は NodaTime を使用しました。http://noda-time.blogspot.co.uk/

于 2013-01-19T06:44:44.200 に答える