2009-07-28 71 views
0

安裝程序:Windows Server 2003/SQL Server 2005. ASP.NET 2.0。 IIS 6.ASP.NET/SQL時區之謎

我正在使用的站點使用ASP.NET成員資格,並且在創建用戶時將其插入到aspnet_membership數據庫中。

所有服務器都設置爲中央時間。我還通過在SQL Server上執行Select GetDate()來驗證這一點,並且它返回了中央時間。

但是,當用戶插入到aspnet_membership中時,他們的CreateDate在GMT中列出。 (格林威治標準)。

我已看過代碼,並且有任何與創建成員關聯的地方都有DateTime.Now.AddHours(6);

成員身份是否僅使用GMT默認值?這可以改變某處嗎?使用GMT有什麼好處?我沒有在用戶方面做任何時區細節,所以我認爲沒有必要。

無論如何,如果你有任何想法,我俯瞰它將不勝感激。

謝謝!

回答

1

使用UTC(不是GMT)具有額外的優點,您不必擔心夏令時。

如果你看看dbo.aspnet_Membership_CreateUser存儲過程,你會發現一個@CurrentTimeUtc參數,這對我來說ASP.NET成員資格中的所有日期時間確實是UTC。

您可以使用DateTime.ToLocalTime轉換爲本地(服務器)時間。