2017-02-09 31 views
0

データベース日付の24時間前に電子メールを生成する必要があります。すべての日付をUTC形式でデータベースに保存しています。私は24時間前にそれぞれのタイムゾーンに基づいてユーザーに電子メールを送信する直前にレコードをフェッチするためにどのようにクエリを書くことができます。ユーザーに基づいて24時間前に電子メールをスケジュール

+0

「24時間前」とはどういう意味ですか?前に_what_? – arkascha

+0

「キューイングシステム」または「キュー管理システム」を見てみたいと思います。そのような解決策は、基本的に定期的なベースで期限切れジョブをチェックすることによって、データベース内のタスクエントリを処理する。 – arkascha

+0

基本的には、ユーザータイムゾーンに関して24時間の時間差を持つxテーブルからレコードを取得するためのクエリが必要です。 – krishnakanth

答えて

0
  1. DATETIMEデータ型ではなくTIMESTAMPデータ型を使用します。 TIMESTAMPは常にUTC時刻でMySQLに格納されます。
  2. 特定のユーザーのセッションを確立するときは、SET time_zone = 'Asia/Kolkata';のようなSQLコマンドを使用してユーザーのタイムゾーンを設定してから、TIMESTAMPの値を格納または取得してください。あなたのテーブルから検索されると、それらは自動的に現在のタイムゾーンに翻訳されます。同様に、保存時にUTCに変換されます。
  3. ​​のようなクエリを使用してレコードを検索し、結果セットを使用して電子メールを送信したり、好きなことをすることができます。

ユーザーのタイムゾーンの設定がどのように決定されるか分かりません。多くのシステムは、それをユーザーの好みにします。しかし、tz database formatで入手する必要があります。

+0

実際に私たちはユーザーに自分のタイムゾーンを選択するドロップダウンを提供しています。レコードが任意のテーブルに挿入されると、UTCフォーマットで保存されます。日付を表示するためにタイムゾーンを使用しています。 – krishnakanth

関連する問題