我有一个DateTime的字符串表示,如下所示:
2011-05-25T16:42:17.156Z
我试过以下没有运气:
DateTime.ParseExact(formatted, "yyyy-MM-ddThh:mm:ss.fffZ", CultureInfo.CurrentCulture);
DateTime.ParseExact(formatted, "yyyy-MM-dd hh:mm:ss.fff", CultureInfo.CurrentCulture);
DateTime.ParseExact(formatted, CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns(), CultureInfo.CurrentCulture, DateTimeStyles.AssumeUniversal);
DateTime.ParseExact(formatted, CultureInfo.CurrentCulture.DateTimeFormat.GetAllDateTimePatterns(), CultureInfo.CurrentCulture, DateTimeStyles.None);
所有这些都给出了错误:
String was not recognized as a valid DateTime.
标准DateTime.Parse似乎有效,但出于性能原因,我们正在探索ParseExact。这似乎应该是非常直接的,但似乎无法让它发挥作用。
答案 0 :(得分:6)
使用HH代替hh 24小时格式。这应该有效:
DateTime.ParseExact(formatted, "yyyy-MM-ddTHH:mm:ss.fffZ",
CultureInfo.CurrentCulture);
你肯定你想要使用当前的文化而不是不变的文化吗?