在ASP.NET应用程序中,我需要在从远程服务器检索某些图像时检查修改日期。 “Last-Modified”的标题值是如下字符串:
.NET的DateTime.Parse()
方法失败了FormatException
(“字符串未被识别为有效的DateTime。从索引26开始有一个未知的单词。”)。我可以通过选项来使(ny)解析方法识别那些时区指标吗?我之前没有见过它们,a Google search在论坛和类似网站上发现了一些明显的用法,但没有关于它们含义的有用信息。
(奇怪的是,相同图像上“日期”的标题值以“GMT”结尾。远程服务器是IIS 7.5。)
答案 0 :(得分:2)
我现在无法轻松检查,但可能会工作:
DateTimeOffset result = DateTimeOffset.ParseExact(text,
"ddd, dd MMM yyyy HH:mm:ss 'G'z'T'",
CultureInfo.InvariantCulture);
那是使用z
custom specifier ...总是格式带有符号,但在解析时可能不需要一个。
如果您愿意使用前沿代码,我相信Noda Time 1.2(未发布)应该能够使用OffsetDateTimePattern
ddd, dd MMM yyyy HH:mm:ss 'G'o<-H>'T'
来应对这种情况。同样,我现在无法测试,但我期望它可以工作。它确实意味着使用当前未发布的代码运行...