在使用DateTimeMask,对文本框中的日期值进行判断时,如果文本框中的日期值为:2002-9-10,DateTimeMask将无法正确进行判断,总是弹出"你输入的格式错误"
如图:
原因是:DateTimeMask认为正确的日期应为:2008-09-12 就是yyyy-MM-dd
找到了原因,就改解决问题了.
顺势看到了后台代码:
string testDate= "2008-09-12"; DateTime dt = Convert.ToDateTime(testDate); testDate = dt.ToShortDateString(); this.testTime.Value = testDate; |
看似没什么,但是在testDate被转换之后,转换函数自动的省略了月份中的0,所以在输出时,文本框的值变成了2008-9-12
之后改成DateTime.Parse进行转换还是不行,接着是DateTime.ParseExact(testDate, "yyyy-MM-dd",null);结果还是一样.-_-!.....
最后的解决方法是: testDate = dt.ToString("yyyy-MM-dd");
如图: