2

每个人,

我有一个快速的问题。谁能告诉我为什么助手控制表“webpages_Membership”中的字段“PasswordChangeDate”(我很确定,使用 Web.Security Helper 自动填充)记录的日期/时间是 5 小时?我刚刚更改了密码并查看了该字段,发现虽然我在上午 10:50 更改了密码,但它显示为下午 3:50。我需要在 Web.Security 帮助程序中调整某个设置(可能是时区等)吗?我知道的一件事是,当我转到 WebMatrix 中的“站点”部分时,在“请求”选项卡中,它实际上显示了我的请求的正确时间戳。

很感谢任何形式的帮助!

4

1 回答 1

2

SimpleMembership Provider 使用 UTC DateTimes,因此您的时区可能是 UTC - 5(或美国东部的某个地方)。您可以实现自己的 Membership Provider 并覆盖所有将 DateTime 值插入成员数据库的方法,或者使用TimeZoneInfo.ConvertTimeFromUtc方法将存储的时间转换为首选时区之一。

如果显示用户注册或更改密码的当地时间对您很重要,您可以做的是询问他们注册时所在的时区。然后,您可以将 UTC 偏移量存储为他们的配置文件的一部分,并将其与 DateTime.AddHours 方法一起使用来计算他们时区的时间。

于 2012-10-26T17:55:59.840 回答