如何在.NET中解析IIS响应标头“Date”

时间:2009-10-11 08:38:52

标签: .net datetime httpwebrequest

我正在对IIS服务器执行HttpWebRequest。 其中一个响应头是 Date ,我想解析它。 这是它的价值:

"Sun, 11 Oct 2009 08:16:13 GMT"

如何对这个字符串进行拼写? DateTime.Parse对我来说效果不佳。

谢谢!

2 个答案:

答案 0 :(得分:5)

您可以使用DateTime.ParseExact指定您尝试解析的确切格式。没有测试,看起来你需要:

DateTime.ParseExact(input, "ddd, dd MMM yyyy HH:mm:ss K");

或者,如果GMT给您带来麻烦,请使用DateTimeStylesParseExact重载:

DateTime.ParseExact(input, "ddd, dd MMM yyyy HH:mm:ss 'GMT'", 
    CultureInfo.InvariantCulture.DateTimeFormat, DateTimeStyles.AssumeUniversal);

答案 1 :(得分:2)

使用DateTime.TryParse

var d = "Sun, 11 Oct 2009 08:16:13 GMT";
DateTime dt;
var b = DateTime.TryParse(d, CultureInfo.InvariantCulture.DateTimeFormat, 
    DateTimeStyles.None, out dt);
Console.WriteLine(dt);

输出:

11-10-2009 01:46:13

注意:时间稍微偏离标记,我认为它正在转换为当地时间。