将8位数转换为DateTime类型

我想将8位数值转换为DateTime对象。 我怎样才能做到这一点? 例如,如果用户输入08082010,则应使用C#将其转换为08/08/2010。

CultureInfo provider = CultureInfo.InvariantCulture; string dateString = "08082010"; string format = "MMddyyyy"; DateTime result = DateTime.ParseExact(dateString, format, provider); 

这会奏效。

使用DateTime.ParseExact() ,格式说明符为"ddMMyyyy""MMddyyyy"

我只是想做同样的事情,我不得不同意伊格纳西奥的做法。 接受的答案有效,但ParseExact方法在日期字符串无效的情况下抛出exception,而TryParseExact方法只返回false 。 例:

 using System.Globalization; // ... string dateString = "12212010"; string format = "MMddyyyy"; DateTime dateStarted; if (!DateTime.TryParseExact(dateString, format, null, DateTimeStyles.None, out dateStarted)) dateStarted = DateTime.Now; 

使用DateTime.Parse