如何在.Net / C#中将日期转换为HTTP格式的日期

56

如何将 .Net 的 DateTime 转换为有效的 HTTP 格式化日期字符串?

1个回答

91

.Net中可以通过使用“r”格式字符串将日期转换为HTTP有效日期(RFC 1123)。HTTP日期需要是GMT /非偏移的-可以使用ToUniversalTime()方法实现。

因此,例如在C#中:

string HttpDate = SomeDate.ToUniversalTime().ToString("r");

现在,它生成的HttpDate为"Sat, 16 Aug 2008 10:38:39 GMT"。

查看标准日期和时间格式字符串以获取.Net标准日期和时间格式字符串列表。

查看协议参数以获取HTTP日期规范以及其他有效(但过时)的RFC类型的HTTP日期背景信息。


9
我尝试了一下不加上.ToUniversalTime()的方法,并想要评论一下,那就是这个步骤是必须的。如果只使用.ToString("r"),它会使用GMT指定格式来格式化日期时间,但它并不真正处于协调世界时(UTC)的状态。 - JYelton
@JYelton 这个通常不正确。只有在你不使用UTC日期时才需要(如果你不这样做,应该有一个很好的理由)。已经是UTC的日期不需要.toUniversalTime() - Sebastian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接