2012-04-22 64 views
0

我正在開發一個Web應用程序,其中剩餘部分將在一天中的特定時間發送給訂閱者。讓我們說一個人John填寫表格,並要求每天下午12點發送電子郵件餘額。我爲此開發了一個cron工作,但我遇到了與時間有關的問題。這是我的問題,如果約翰來自美國,那麼電子郵件必須根據美國時間發送等等。現在我使用MYSQL來存儲每個人的時區和時間。但是,如何根據特定時區安排電子郵件。我的服務器時間設置爲UTC。因此,如果一個人的時區GMT + 5需要多少小時才能添加UTC,以便在正確的時間發送電子郵件。
我不需要代碼只是給我一個常見的公式來計算電子郵件的正確時間。 非常感謝, 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

嗨大衛,感謝您的輸出。你能解釋一下上述功能嗎?第一個參數是什麼日期和時間?我想第二個和第三個參數分別代表當前轉換爲正確的當前時區和時區。 – 2012-04-22 09:08:08

+0

上面的函數取當前存儲在數據庫中的日期,原始時間戳(在你的情況下這是格林威治標準時間)和要轉換的時區(即太平洋標準時間的PST)。如果您將時區存儲在UTC時間旁邊,則可以通過SELECT CONVERT_TZ(original_time,'GMT',timezone)FROM ...執行轉換。 – 2012-04-22 09:12:51