2009-10-20 82 views
2

我有以下日期作为字符串“091020”。我使用SubSonic作为我的DAL。当我做从字符串转换为类型日期是无效的错误

myObject.DateColumn = "091020" 

我得到的错误“从String类型转换为Date类型无效”

我试图用的IFormatProvider和CultureInfo的玩,但似乎无法得到错误的空袭。

我错过了什么?

回答

5

尝试

myObject.DateColumn = DateTime.ParseExact("091020", "yyMMdd", null) 

DateTime.ParseExact,您可以指定究竟如何解析日期时,它不是完全明显。

+0

我以前试过这个,但得到了错误无法转换'System.String'类型的对象来键入'System.IFormatProvider – 2009-10-20 20:52:24

+0

明白了!我正在使用DateTime.Parse – 2009-10-20 20:53:39

+0

如果我有时间为“1422”,我可以使用DateTime.ParseExact将时间存储在System.Date对象中吗? – 2009-10-20 20:59:42

2

.Net无法将其解析为有效日期。在新项目中抛出这个和验证:

string sDate = "091120"; 
DateTime dt = DateTime.MinValue; 

if (DateTime.TryParse(sDate, out dt)) 
    MessageBox.Show(dt.ToShortDateString()); 
else 
    MessageBox.Show("Nope"); 

所以,如果你知道你所有的日期是YYMMDD,然后使用此:

DateTime.ParseExact("091120", "yyMMdd", null) 

你是如何获得这些日期?他们保证在yyMMdd格式是6位数字?

相关问题