Sql DateTime.ParseExact格式错误

Sql DateTime.ParseExact格式错误,sql,ado.net,Sql,Ado.net,我使用了一个文本框来存储DD-MM-YYYY格式的日期,因为我使用了SQL server,所以我从文本框中获取值,然后将其放入DateTime dt类型的变量中 DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture); 我得到的格式规范错误,我通过了许多文档,但仍然无法得到我的错误 我使用的是C#和ADO.net 有人能纠正我吗?试试这个 DateTime.Parse

我使用了一个文本框来存储DD-MM-YYYY格式的日期,因为我使用了SQL server,所以我从文本框中获取值,然后将其放入DateTime dt类型的变量中

DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture);
我得到的格式规范错误,我通过了许多文档,但仍然无法得到我的错误

我使用的是C#和ADO.net 有人能纠正我吗?

试试这个

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

注意日期格式管柱套管。“dd”可以不同于“dd”

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


但是,是否确实要使用DateTime.ParseExact而不是DateTime.Parse

看起来你把DD和MM搞混了。请尝试以下内容:

DateTime dt = DateTime.ParseExact(TextBox10.Text,"dd-MM-yyyy",CultureInfo.InvariantCulture);
请注意,我将“DD”改为“DD”

更新:

好的,所以我将“yyy”改为“yyy”,并运行下面的代码,成功地解析了它:

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

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

我要求用户输入(dd-mm-yyy),但sql将其存储为(mm-dd-yyy),因此我使用了它。。我想我必须看一看区分大小写的部分嘿,Nagaraj,看看我的更新。我仍然认为这是一个关于用户如何输入日期的问题,以及在解析时您希望他们使用的格式。另外,请注意dd表示以下格式:28、10、01等。请特别注意“01”示例。它预计会有两位数的一天,即使是1-9天。。。这个月也是一样。@Abe,但是如果你说我的第二个字符串不重要,那么我不能在第一个参数中选择textbox.text?我不是说第二个字符串不重要。事实上,我是说字符串是你所有问题的原因。这才是最重要的!我不明白你说的“我不能在第一个参数中输入textbox.text”是什么意思?你能澄清一下吗?输入将来自textbox:(格式也不起作用…它仍然说,“MM-dd-YYYY”不是有效的日期时间:(我要求用户输入(dd-MM-yyy),但sql将其存储为(MM-dd-YYYY)所以我用了它..我想我必须看一下区分大小写的部分它仍然说,“MM dd YYYY”不是有效的日期时间:(