更正C#代码以将此字符串解析为日期

更正C#代码以将此字符串解析为日期,c#,C#,我有以下拒绝解析为日期的代码: 20130718-18:15:36.038 有人知道使用System.Datetime.parse()解析它的正确C代码是什么吗 谢谢 DateTime.ParseExact("20130718-18:15:36.038", "yyyyMMdd\\-HH\\:mm\\:ss\\.fff", null); 找到所有格式字符串 作为旁注,请确保在特殊字符之前使用反斜杠,告诉代码您希望按原样使用特定字符,而不是系统值(这里的双反斜杠是C#转义单个反斜杠)。或者,您可

我有以下拒绝解析为日期的代码:

20130718-18:15:36.038
有人知道使用System.Datetime.parse()解析它的正确C代码是什么吗

谢谢

DateTime.ParseExact("20130718-18:15:36.038", "yyyyMMdd\\-HH\\:mm\\:ss\\.fff", null);
找到所有格式字符串


作为旁注,请确保在特殊字符之前使用反斜杠,告诉代码您希望按原样使用特定字符,而不是系统值(这里的双反斜杠是C#转义单个反斜杠)。或者,您可以执行
@“yyyyMMdd \-HH\:mm\:ss\.fff”

我建议只使用
-
,但要指定不变的区域性。不管怎样,这对
-
并不重要。@JonSkeet我个人从来都不是
不变式文化的粉丝
-冒号仍然是一个特殊的“时间分隔符”,即使不变式文化可能只是将冒号翻译成它自己。这可能只是我的妄想症,但如果我解析一个字符串,而我确切知道我得到了什么字符,我宁愿给它确切的字符,而不是相信.NET对不变量文化的实现是未来的证明,而且连字符永远不会有什么特别的意义。我可能有信任问题:)因为您的代码错误。下次发吧。
string theDate = "20130718-18:15:36.038";

DateTime tempDate = DateTime.ParseExact(theDate, "yyyyMMdd\\-HH\\:mm\\:ss\\.fff", CultureInfo.InvariantCulture, DateTimeStyles.None);