2010-12-05 6 views
0

24時間以内に送信されるかどうかは「通知」テーブルがあります。各通知にはGMTからのオフセットがありますので、+/-秒のオフセットの列があります。UNIXタイムスタンプ付きPHPでのタイムゾーンオフセットの処理

定期的に(via cron)の通知されたデータベースをチェックし、その日の00:00を過ぎた場合にそれらを未送信にリセットするPHPスクリプトを作成する必要があります。私はこれを行うための最善の方法に本当に苦労しています。私は簡単な計算ができますか?

私は、mktime()[私のサーバはGMTです]を使ってサーバの深夜のUNIX時間を取得し、オフセットを秒単位で処理することを考えていました。以下のような

何か:

if(!mktime()-$notifcationTimezone > $serverMidnight){} 

は、私は、これは動作しません言っていないんだけど、私はそれは別の日にする場合、サーバが経過動作するとは思いません。それは私を混乱させるだけで、私はそれを信じていません。

+0

私はすべての方法**を試してみてください。これはうまくいきません... – ajreal

+0

上記を参照してください – mootymoots

答えて

0

これはちょうどstrtotimeとの単純な比較ではなく、オフセットを追加する必要もありません。日付関数を使用して、あなたが相手にしたいstrtotimeに渡す特定の時刻を設定することができます。

私たちにあなたのデータベースからの本当の例と現在のcronの外観を見せてください。

私はあなたがここで取り組もうとしていることを完全に確信しているわけではありませんが、何を考えてみたいかは本当に何かをリセットしたいのですか?通知が送信された日付に記入することができます。それが今日の日付と一致しない場合は、もう一度それを再送信したいですか?

+0

私の考えがどこにあるかを示すために投稿を編集しました... – mootymoots

+0

As strtotime(strtotime(notificationdate) Michael

+0

私はすでにUNIXのタイムスタンプを持っています - なぜstrtotimeが必要でしょうか?私が持っているものはすべてすでに数秒で... – mootymoots

関連する問題