我正在尝试解析类似于以下内容的国际日期时间字符串:

24-okt-08 21:09:06 CEST


到目前为止,我有类似的东西:

CultureInfo culture = CultureInfo.CreateSpecificCulture("nl-BE");
DateTime dt = DateTime.ParseExact("24-okt-08 21:09:06 CEST",
    "dd-MMM-yy HH:mm:ss ...", culture);


问题是格式字符串中的“ ...”应使用什么?查看Custom Date and Time Format String MSDN页面似乎没有以PST / CEST / GMT / UTC格式列出用于解析时区的格式字符串。

最佳答案

AFAIK无法识别时区缩写。但是,如果用时区偏移量代替缩写,就可以了。例如。:

DateTime dt1 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+2"), "dd-MMM-yy HH:mm:ss z", culture);
DateTime dt2 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+02"), "dd-MMM-yy HH:mm:ss zz", culture);
DateTime dt3 = DateTime.ParseExact("24-okt-08 21:09:06 CEST".Replace("CEST", "+02:00"), "dd-MMM-yy HH:mm:ss zzz", culture);

10-04 16:22