C# 如何将字符数组转换为DateTime.Parse的字符串?
我在控制器中使用此选项:C# 如何将字符数组转换为DateTime.Parse的字符串?,c#,arrays,string,datetime,formatexception,C#,Arrays,String,Datetime,Formatexception,我在控制器中使用此选项: char[] arrDate = date.ToArray(); DateTime dt = DateTime.Parse(arrDate[0] + arrDate[1] + "/" + arrDate[2] + arrDate[3] + "/" + arrDate[4] + arrDate[5] + arrDate[6] + arrDate[7]);
char[] arrDate = date.ToArray();
DateTime dt = DateTime.Parse(arrDate[0] + arrDate[1] + "/" +
arrDate[2] + arrDate[3] + "/" +
arrDate[4] + arrDate[5] + arrDate[6] + arrDate[7]);
错误:
System.FormatException:未将字符串识别为有效的日期时间
考虑这一点:
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
=字符
int
⇒98+“/”=“98/”
+int
=string
string
⇒ <代码>字符串+“98/”+“2”=“98/2”
=字符
字符串
var dt = DateTime.Parse("" +
arrDate[0] + arrDate[1] + "/" +
arrDate[2] + arrDate[3] + "/" +
arrDate[4] + arrDate[5] + arrDate[6] + arrDate[7]);
*代表:
- 十进制的
是'1'
49
日期
类型为字符串
。对于解析字符串,DateTime
类有几种方法,其中ParseExact
就是其中之一。此方法可以解析给定格式说明符和区域性的字符串。在您的情况下,日期可以这样解析:
var date = "11252017";
var dt = DateTime.ParseExact(date, "MMddyyyy", CultureInfo.InvariantCulture);
顺便说一下,
string
是一个char
s数组,因此在代码中arrDate[0]
与date[0]
完全相同。只是为了将来要记住的事情。Thanx我的问题已经解决了……它工作得很好。arrdate=date=“11202017”;dt={11/20/2017 12:00:00 AM}这是我的输出。是的,它是正确的。请看你是否可以接受/投票决定答案@雅舒