ASP.NET/SQL时区之谜
安装程序:Windows Server 2003/SQL Server 2005。ASP.NET2.0。IIS 6 我正在处理的站点使用ASP.NET成员身份,当创建用户时,会将其插入到aspnet_成员身份数据库中 所有服务器均在中央时间设置。我还通过在SQL Server上执行ASP.NET/SQL时区之谜,asp.net,sql-server-2005,iis,timezone,gmt,Asp.net,Sql Server 2005,Iis,Timezone,Gmt,安装程序:Windows Server 2003/SQL Server 2005。ASP.NET2.0。IIS 6 我正在处理的站点使用ASP.NET成员身份,当创建用户时,会将其插入到aspnet_成员身份数据库中 所有服务器均在中央时间设置。我还通过在SQL Server上执行Select GetDate()验证了这一点,它返回了中心时间 但是,当用户被插入到aspnet_成员中时,他们的CreateDate以GMT(格林威治标准时间)列出 我看过代码,没有日期时间。现在。AddHours(
Select GetDate()
验证了这一点,它返回了中心时间
但是,当用户被插入到aspnet_成员中时,他们的CreateDate以GMT(格林威治标准时间)列出
我看过代码,没有日期时间。现在。AddHours(6)代码>与创建成员关联的任何位置
会员是否默认只使用GMT?这能在什么地方改变吗?使用GMT有什么好处吗?我没有在用户端做任何时区细节,所以我认为没有必要这样做
无论如何,如果你对我忽略的东西有任何想法,我将不胜感激
谢谢大家! 使用UTC(而不是GMT)还有一个额外的优势,那就是您不必担心夏令时
如果查看dbo.aspnet_Membership_CreateUser存储过程,您会发现一个@CurrentTimeUtc参数,它告诉我ASP.NET成员身份中的所有日期时间实际上都是UTC
您可以使用转换为本地(服务器)时间。成员身份会自动使用UTC,如本文所述: