.net – 我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow?

前端之家收集整理的这篇文章主要介绍了.net – 我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我应该在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());   
}

猜你在找的asp.Net相关文章