我正在编写/更新 cookie,但是每次我执行此操作并查看 chrome 开发工具时,它都会告诉我 cookie 已在 30 分钟前过期,而不是从现在起 30 分钟后过期。
HttpCookie cookie;
if (Request.Cookies.AllKeys.Contains(name))
{
cookie = Request.Cookies[name];
}
else
{
cookie = new HttpCookie(name);
}
cookie.Value = value;
cookie.Expires = DateTime.Now.AddMinutes(30);
Response.Cookies.SetCookie(cookie);
有人知道为什么会发生这种情况吗?
最佳答案
您在哪个时区?例如,如果您使用 UTC - 1,则:
- 当前本地时间为 12:00
- UTC 时间为 13:00
- Cookie 将于 12:30 过期(因为您没有使用 UtcNow)
- 浏览器可能认为 12:30 是 UTC 时间,因此是过去的时间。
这有点合理,所以要持保留态度!
关于asp.net - ASP.NET MVC 中过去的 Cookie 过期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43677855/