0

セットアップ: Windows Server 2003 / SQL Server 2005。ASP.NET 2.0。IIS6.

私が取り組んでいるサイトは ASP.NET メンバーシップを使用しており、ユーザーが作成されると aspnet_membership データベースに挿入されます。

すべてのサーバーは中央時間に設定されています。Select GetDate()また、SQL Server で実行してこれを確認したところ、中央時間が返されました。

ただし、ユーザーが aspnet_membership に挿入されると、その CreateDate は GMT で表示されます。(グリニッジ平均)。

私はコードを見てきましたが、メンバーの作成に関連する場所はどこにもありません。 DateTime.Now.AddHours(6);

メンバーシップはデフォルトで GMT を使用するだけですか? これはどこかで変更できますか?GMT を使用する利点はありますか? ユーザー側でタイムゾーンの詳細を行っているわけではないので、その必要はないと思います。

とにかく、私が見落としていることについて何かアイデアがあれば、大歓迎です。

ありがとうございました!

4

2 に答える 2

1

(GMT ではなく) UTC を使用すると、夏時間について心配する必要がないという追加の利点があります。

dbo.aspnet_Membership_CreateUser ストアド プロシージャを見ると、@CurrentTimeUtc パラメーターが見つかります。これは、ASP.NET メンバーシップのすべての日時が実際に UTC であることを示唆しています。

DateTime.ToLocalTimeを使用して、ローカル (サーバー) 時間に変換できます。

于 2009-07-28T01:45:10.687 に答える
1

この記事で説明されているように、メンバーシップは自動的に UTC を使用します: http://aspnet.4guysfromrolla.com/articles/041608-1.aspx

于 2009-07-28T01:47:03.353 に答える