2011-10-11 70 views
4

我正在爲我們的軟件創建提醒系統。目前,我有用戶給我他們想要提醒的時間,並將其存儲在數據庫中。無偏時間系統C#

然後,我有一個服務,定期檢查數據庫的提醒時間。如果提醒時間與服務器時間匹配,系統會向用戶發送電子郵件。

我剛纔意識到由於時區差異,這可能不起作用。

我的問題是,處理服務器和客戶端時差的最佳方法是什麼,以便提醒是準確的?

例如.....我們的服務器設置爲中央時間,比如說下午6點......在東海岸的用戶需要在晚上7點提醒......這意味着我的服務器需要在服務器時間下午6:00發送提醒。

我希望問題很清楚。

回答

6

我建議在內部處理UTC的所有內容,並讓客戶端軟件進行區域特定的翻譯。然後,您可以支持任意時區,並且如果您需要將服務器移到其他地方,或者您的服務足夠受歡迎以實現多宿主,則仍然可以。

+0

好吧....讓我檢查一下。 –

+0

這工作!!!!!謝謝。 –

2

將所有內容都存儲在universal time中,並根據此轉換更新您的客戶。

因此,簡單地說,不是讓客戶向您發送6:00 EST的請求,讓他們首先計算EST和UTC之間的轉換,然後將UTC發送給您。

+0

so UTC time是我認爲是正確的?這對時區等是完全沒有偏見的,對嗎? –

+0

所有時區都基於當前地球旋轉位置偏向地球上的一個區域:)。但是,幾乎所有的框架和程序員都使用UTC作爲一個時區,將非UTC時區轉換爲此特定用途。 –