DateTime.ParseExact格式错误

问题描述:

我已经使用了一个文本框以DD-MM-YYYY格式存储日期,并且由于我使用了SQL服务器,我用它从文本框中获取值,然后将其放入DateTime dt类型的变量中DateTime.ParseExact格式错误

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

我得到格式规范的错误,我经历了许多文件去,但仍无法得到我要去的地方错了

这个我使用C#和ADO.net 请任何人都可以纠正我?

+0

它仍然说,“MM-dd-YYYY”不是一个有效的日期时间:( – 2010-07-27 11:08:24

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

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

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

UPDATE:

好了,我改“YYYY”为“YYYY”,跑到下面的代码,它成功地解析:

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

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

+0

我要求用户输入(dd-mm-yyyy),但sql将它存储为(MM-DD-YYYY) 所以我使用它..我想然后区分大小写的部分我将不得不请看看 – 2010-07-27 06:57:19

+0

嗨Nagaraj,阅读我的更新。我仍然认为这是一个问题,用户如何输入日期和格式,你期望他们在解析时。 – 2010-07-27 15:03:00

+0

也请注意,dd意味着以下格式:28, 10,0 1等。要特别注意“01”的例子。它预计一个两位数的日子,即使是1-9 ...也是一个月。 – 2010-07-27 15:04:56

试试这个

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

照顾日期格式字符串套管。 “dd”可以不同于“DD”

+0

输入将从文本框:( – 2010-07-27 06:57:52

+0

格式也没有工作......它仍然说,“MM-dd- YYYY“不是有效的日期时间:( – 2010-07-27 11:08:03

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

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

+0

)要求用户输入(dd-mm-yyyy),但sql将它存储为(MM-DD-YYYY),所以我用它..我想那么区分大小写的部分我会必须看看 – 2010-07-27 06:58:29