我在我的控制器中使用它:
pycharm
错误:
System.FormatException:String未被识别为有效的DateTime。
答案 0 :(得分:0)
考虑一下:
var date = "11252017";
var arrDate = date.ToArray();
var strDate = arrDate[0] + arrDate[1] + "/" +
arrDate[2] + arrDate[3] + "/" +
arrDate[4] + arrDate[5] + arrDate[6] + arrDate[7]; // 98/25/2017
请注意:
'1' + '1' = 98
*⇒char
+ char
= int
98 + "/" = "98/"
⇒int
+ string
= string
"98/" + '2' = "98/2"
⇒string
+ char
= string
修复:
var dt = DateTime.Parse("" +
arrDate[0] + arrDate[1] + "/" +
arrDate[2] + arrDate[3] + "/" +
arrDate[4] + arrDate[5] + arrDate[6] + arrDate[7]);
* ASCII代表:
'1'
十进制为49
答案 1 :(得分:0)
我认为date
的类型为string
。对于解析字符串,DateTime
类有几种ParseExact
为一的方法。此方法可以解析给定格式说明符和区域性的字符串。在您的情况下,日期可以像这样解析:
var date = "11252017";
var dt = DateTime.ParseExact(date, "MMddyyyy", CultureInfo.InvariantCulture);
顺便说一句string
是char
的数组,因此代码arrDate[0]
与date[0]
完全相同。只是要记住未来的事情。