我使用文本框以DD-MM-YYYY格式存储日期,因为我使用SQL服务器来获取文本框中的值,然后将其放在DateTime dt类型的变量中
DateTime dt = DateTime.ParseExact(TextBox10.Text,"MM-DD-YYYY",CultureInfo.InvariantCulture);
我收到格式规范错误,我浏览了很多文档,但仍然无法找到我出错的地方
我正在使用C#和ADO.net 请任何人纠正我吗?
答案 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吗?