C# date抛出异常

C# date抛出异常,c#,datetime,C#,Datetime,我有一个文本框,其中包含一个文本作为 18/1/2013 我想将此文本作为datetime类型。我尝试过使用特定的代码 Convert.ToDateTime(DateTime.ParseExact(TxtStartDate.Text.Trim(), "dd/MM/yyyy", null)); 但它抛出了一个异常作为 String was not recognized as a valid DateTime. 使用 这不是对MM的精确解析,没有直接关系,您可以简单地从ParseExact获取

我有一个文本框,其中包含一个文本作为

18/1/2013
我想将此文本作为datetime类型。我尝试过使用特定的代码

Convert.ToDateTime(DateTime.ParseExact(TxtStartDate.Text.Trim(), "dd/MM/yyyy", null));
但它抛出了一个异常作为

String was not recognized as a valid DateTime.
使用


这不是对
MM
的精确解析,没有直接关系,您可以简单地从ParseExact获取返回值。您不再需要转换。在德国这里抛出
FormatException
。使用
DateTime.ParseExact(“2013年1月18日”、“2013年1月18日”、“2013年1月18日”、System.Globalization.CultureInfo.InvariantCulture”)
代替(
null
将使用
CurrentCulture)
MM预计1月为
2013年1月18日
。正好两个字符month@Abhishekgupta单个M表示从第个月到第9个月,不带0。如果是MM,那么它需要09,一个零前缀,在您的例子中是01,表示月份。@TimSchmelter编辑了我的答案
ParseExact
不应该有问题。将使用德国文化进行测试。@TimSchmelter,已验证。这就要求在需要使用时使用
InvariantCulture
。谢谢
var date = DateTime.ParseExact(TxtStartDate.Text.Trim(), "d/M/yyyy", System.Globalization.CultureInfo.InvariantCulture);