DateTime.ParseExact格式错误

时间:2010-07-26 19:14:29

标签: sql ado.net

我使用文本框以DD-MM-YYYY格式存储日期,因为我使用SQL服务器来获取文本框中的值,然后将其放在DateTime dt类型的变量中

DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture);

我收到格式规范错误,我浏览了很多文档,但仍然无法找到我出错的地方

我正在使用C#和ADO.net 请任何人纠正我吗?

3 个答案:

答案 0 :(得分:1)

试试这个

DateTime.ParseExact("12-12-2010", "MM-dd-yyyy", System.Globalization.CultureInfo.InvariantCulture)

照顾日期格式字符串大小写。 “dd”可以与“DD”不同

答案 1 :(得分:1)

看起来你混淆了DD和MM。请尝试以下:

DateTime dt = DateTime.ParseExact(TextBox10.Text,"dd-MM-yyyy",CultureInfo.InvariantCulture);

请注意,我将“DD”更改为“dd”!

<强>更新

好的,所以我将“YYYY”更改为“yyyy”并运行下面的代码并成功解析:

DateTime dt = DateTime.ParseExact("28-01-2010", "dd-MM-yyyy", provider);

如果您的用户确实以“dd-MM-yyyy”格式传递日期,那么这应该适合您。请记住,第二个字符串与您在数据库中存储的任何格式无关。它只与ParseExact中第一个字符串参数的格式有关。 HTH。

答案 2 :(得分:0)

如上所述,日期格式字符串区分大小写。

但是,您确定要使用DateTime.ParseExact而不是DateTime.Parse吗?