C# 用c将字符串解析为日期#

C# 用c将字符串解析为日期#,c#,string,datetime,C#,String,Datetime,有没有一种方法可以将以下字符串解析为日期,而不将其拆分为wrt-字符 25-11-2014 5-6-2013 3-10-2012 我在另一个案例中使用了以下代码。但是,由于缺少前导零,它无法工作 DateTime.ParseExact("06-05-2016", "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture); 考虑您的格式字符串 对他们期望得到的东西非常严格。如果你表示你将收到一个两位数的日期,那么它将预期一

有没有一种方法可以将以下字符串解析为日期,而不将其拆分为wrt-字符

25-11-2014
5-6-2013
3-10-2012
我在另一个案例中使用了以下代码。但是,由于缺少前导零,它无法工作

DateTime.ParseExact("06-05-2016", "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture);

考虑您的格式字符串

对他们期望得到的东西非常严格。如果你表示你将收到一个两位数的日期,那么它将预期一个前导零

为此,您可以考虑将格式化字符串更改为接受单个字符日期和月份的字符串,这将满足您提供的所有示例输入:

处理多种格式

此外,允许基本上定义日期可能采用的多种格式:

DateTime.ParseExact(input, new []{ "d-M-yyyy", "dd-MM-yyyy" }, System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None);

您的代码:

DateTime.ParseExact("06-05-2016", "dd-MM-yyyy", ...);
明确表示“寻找两位数的日和月”。如果您想要一位数的月/日(无前导零),只需更改格式字符串

DateTime.ParseExact("06-05-2016", "d-M-yyyy", ...)
这将允许您使用第1-31天而不是第1-31天,以及第1-12个月而不是第1-12个月。

DateTime.ParseExact(“06-05-2016”,“d-M-yyyy”,System.Globalization.CultureInfo.InvariantCulture
DateTime.ParseExact("06-05-2016", "d-M-yyyy", ...)