2012-04-22 18 views
0

私は残りの部分が1日の特定の時間に加入者に送信されるWebアプリケーションを開発しています。 Johnがフォームに記入し、毎日午後12時に電子メールを残すように依頼するとします。私はこの目的のためにcronの仕事を開発しましたが、私は時間に関連する問題を抱えています。 Johnが米国出身の場合、私の問題は、米国の時間などに基づいて電子メールを送信する必要があります。今私はMYSQLを使用して、各人からタイムゾーンと時刻を保存します。しかし、どのように特定の時間帯に基づいて電子メールをスケジュールするのですか?私のサーバー時間はUTCに設定されています。だから、人がGMT + 5のタイムゾーンを持っている場合、UTCに何時間追加すればよいのか。メールが正しい時刻に送信されるようにする。
私はコードの必要はありません私に電子メールの正しい時間を計算するための一般的な公式を与える。 ありがとう、Ahmar。 Ahmar。PHPとMYSQLの時刻関連のクエリ

答えて

1

convert-tzの機能を見てください。

mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET'); 
     -> '2004-01-01 13:00:00' 
mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00'); 
     -> '2004-01-01 22:00:00' 
+0

こんにちはDavidさん、ありがとうございました。あなたは上記の機能が何をしているか説明していただけますか?最初のパラメータは何の日時ですか?私は2番目と3番目のパラメータは、それぞれ正確に変換される現実の時間帯とタイムゾーンを表すと思いますか? –

+0

上記の関数は、データベース内に現在保存されている日付、元のタイムスタンプ(あなたの場合はGMT)、変換するタイムゾーン(太平洋標準時の場合はPST)をとります。 UTC時刻と一緒にタイムゾーンを保存していれば、SELECT CONVERT_TZ(original_time、 'GMT'、timezone)FROMから変換を実行できます。 –