加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – 我应该在HttpCookie.Expires和HttpCachePolicy.SetExpir

发布时间:2020-12-16 00:37:54 所属栏目:asp.Net 来源:网络整理
导读:我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow? Cookies are sending ‘GMT’时间,但我不知道如果我发送DateTime.Now.AddDays(3)如果我将在GMT 5发生什么,与Expires HTTP header (sec 14.21)相同。 我该
我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow?

Cookies are sending ‘GMT’时间,但我不知道如果我发送DateTime.Now.AddDays(3)如果我将在GMT 5发生什么,与Expires HTTP header (sec 14.21)相同。

我该用什么

解决方法

在这种情况下无关紧要。

在内部,第一件事.SetExpires是将您提供的datetime转换为UTC,然后将其设置在cookie上。

记住,只要你的datetime消费者正确使用DateTime类,那么两者是一样的 – 只是一个是“baselined”到UTC,另一个不是:

20110701T14:00:00-1:00 (British Summer Time)

20110701T13:00:00+0:00 (UTC)

代表完全相同的日期时间,即UTC的1点。

只要消费者正确处理(看起来像反光镜),那就没有任何区别。

如果你把这个作为一个时间字符串传递,那么当然这可能会有所作为,但在这种情况下不是这样。

您可以使用以下代码查看效果(假设您不是UTC,如果您是 – 将您的设置更改为测试!)。一旦您要求将其转换为UTC,它们都会输出相同的日期时间。

WriteDateTime(DateTime.Now);
WriteDateTime(DateTime.UtcNow);

public static void WriteDateTime(DateTime dateTime)
{
   Console.WriteLine(dateTime.ToUniversalTime().ToLongTimeString());   
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读