我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow?
Cookies are sending ‘GMT’时间,但我不知道如果我发送DateTime.Now.AddDays(3)如果我将在GMT 5发生什么,与Expires HTTP header (sec 14.21)相同。
我该用什么
@H_502_6@解决方法
在这种情况下无关紧要。
在内部,第一件事.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()); }@H_502_6@ @H_502_6@ 原文链接:https://www.f2er.com/aspnet/252780.html