1 string number = System.Text.RegularExpressions.Regex.Replace(timeToMarket, @"[^\d]*", "", RegexOptions.Multiline); 2 int a = Convert.ToInt32(number); 3 object aa = (DateTime?)Convert.ToDateTime(a.ToString()); 4 model.TimeToMarket = (DateTime?)Convert.ToDateTime(timeToMarket.Replace("发行时间:", ""));
//发行时间:2002
用正则取出 2002 转型INT32 没问题。
用正则取出 2002 转型DateTime 就有该字符串未被识别为有效的 DateTime。
用Replace 替换后就可以 转型成 DateTime.
这是什么原因啊?
TimeToMarket 是 DateTime? 类型
直接这样转换 Convert.ToDateTime("2013") 是不允许的~ 因为2013不是一个有效的时间,至少应该带上个月份,比如"2013-1"
你总得贴下timeToMarket是咋样的吧?
贴了,
@Mundo Novo:
(DateTime?)Convert.ToDateTime(timeToMarket.Replace("发行时间:", ""));
这句能执行吗?表示怀疑...。