如何在C#中将HTTP Last-Modified标头从UTC解析为DateTime

时间:2013-10-02 20:41:42

标签: c# http http-headers utc

我正在尝试从HTTP响应中的Last-Modified标头解析日期。

日期显示如下:

最后修改时间:星期六,2006年7月1日01:50:55 UTC

我尝试 DateTime.Parse DateTime.ParseExact 但没有成功。

最后什么是UTC的事情以及为什么C#不想解析它?

更新

  • 我请求的服务器是 PWS / 8.0.16 ,(我认为)是Windows Personal Web Server ...这个服务器可能是罪魁祸首。 (我很想知道这台服务器是什么)
  • 数据由jpeg图像组成。
  • 似乎Last-Modified标头的日期格式并不总是相同。有时,它以UTC结尾。其他人使用GMT。

1 个答案:

答案 0 :(得分:8)

使用ParseExact指定输入格式:

string inputDate = "Sat, 01 Jul 2006 01:50:55 UTC";

DateTime time = DateTime.ParseExact(inputDate,
                    "ddd, dd MMM yyyy HH:mm:ss 'UTC'",
                    CultureInfo.InvariantCulture.DateTimeFormat,
                    DateTimeStyles.AssumeUniversal);