2012-05-23 28 views
2

這是一個棘手的情況,所以我會盡力解釋自己。我們有一個系統,將有用戶在不同的時區,但將有一個程序,他們都參與,將過期,並在特定日期午夜不再可見。處理時區C#Asp.Net MVC SQL Server

我們用UTC來存儲日期,但如果我們有一個用戶在說印度,我相信UTC時間提前5:30,所以如果我們把它留給UTC作爲每個人,他們將能夠看到程序另外5:30小時,如果我們在西雅圖有一個用戶,比計劃後-8小時的時間將在下午4點結束。這些都不考慮夏令時。

我的問題是什麼是處理這個問題的最佳方法,我花了幾個小時的搜索,並有各種選項,沒有一個是理想的。

  1. 添加一個選項,以他們的個人資料爲他們選擇一個時區,將需要翻譯,工作等相當數量的如果我們讓他們去改變它,他們可以設置爲一個時區,讓他們在物品過期後繼續看物品。或者我們設置了一個時區,但他們不能改變它,但如果他們移動,旅行等不是很直觀的話。

  2. 使用瀏覽器獲取javascript的錯誤,再次打開濫用,更改日期等。

處理這個問題的最佳方法是什麼?其他人怎麼做呢?任何幫助將不勝感激。

+0

+1對於偉大的研究)) – superM

回答

0

這兩種方法都可以接受。這取決於用戶的位置在你的程序中是否具有重要作用。這也取決於程序是如何「虛擬」的。

例如,如果它顯示某些商店是開放的或不是第二種方法更好。它也容易實現,它確實不是不可靠的。

但是,如果程序是虛擬的,午夜只是一個協議比第一種方法更好。當然,實施起來比較困難,但在虛擬世界看起來好多了。