首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >我应该在HttpCookie.Expires和HttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow?

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

Stack Overflow用户
提问于 2011-01-31 18:21:24
回答 1查看 5.9K关注 0票数 19

我应该在HttpCookie.ExpiresHttpCachePolicy.SetExpires中使用DateTime.Now还是DateTime.UtcNow

Cookies are sending 'GMT'时间,但我不知道如果我在GMT+5中发送DateTime.Now.AddDays(3)会发生什么。Expires HTTP header (sec 14.21)也是如此。

我应该使用什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-01-31 19:07:26

在这种情况下,这并不重要。

在内部,.SetExpires做的第一件事是将您提供的日期时间转换为UTC,然后在cookie上设置它。

请记住,只要您的datetime使用者正确地使用了DateTime类,那么这两个类就是相同的-只是其中一个是“基线”到UTC,而另一个不是:

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

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

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

只要消费者正确地处理了这一点(看起来是这样,看过反射器),那么就没有区别了。

如果您将其作为时间字符串传递,那么当然,它可能会有很大的不同,但在本例中不是这样。

您可以使用以下代码看到效果(假设您自己不在UTC中-如果您在UTC中-请将您的设置更改为test!)。一旦您请求将其转换为UTC,它们都会输出相同的日期时间。

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

public static void WriteDateTime(DateTime dateTime)
{
   Console.WriteLine(dateTime.ToUniversalTime().ToLongTimeString());   
}
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4849744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档