首页新闻找找看学习计划

菜鸟 求老鸟指导 [一个简单的问题]

0
悬赏园豆:5 [已解决问题] 解决于 2013-08-20 06:04
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? 类型

Mundo Novo的主页 Mundo Novo | 初学一级 | 园豆:82
提问于:2013-08-19 20:51
< >
分享
最佳答案
0

直接这样转换 Convert.ToDateTime("2013") 是不允许的~ 因为2013不是一个有效的时间,至少应该带上个月份,比如"2013-1"

收获园豆:5
李宝亨 | 小虾三级 |园豆:1433 | 2013-08-19 22:33
其他回答(1)
0

你总得贴下timeToMarket是咋样的吧?

幻天芒 | 园豆:36522 (高人七级) | 2013-08-19 20:54

贴了,

支持(0) 反对(0) Mundo Novo | 园豆:82 (初学一级) | 2013-08-19 21:10

@Mundo Novo: 

(DateTime?)Convert.ToDateTime(timeToMarket.Replace("发行时间:", ""));
这句能执行吗?表示怀疑...。
支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2013-08-20 00:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册