string date="2012-03-21";  
string[] ymd = date.Split('-');
int year = Convert.ToInt32(ymd[0]);//执行到这里报错,输入字符串的格式不正确
int month = Convert.ToInt32(ymd[1]);
int day = Convert.ToInt32(ymd[2]);我跟踪一下,ymd[0] = "2012"
ymd[1] = "03"
ymd[0] = "21"这种错误也有?我这样写就没问题,int year = Convert.ToInt32("2012");//

解决方案 »

  1.   

    先断点到int year = Convert.ToInt32(ymd[0]);
    然后在即时里面看看
    ymd[0] == "2012" 是不是相等
      

  2.   

    先贴到blog里,在引用图片地址
      

  3.   


                DateTime dateTime = DateTime.Parse("2012-03-21");
                dateTime.Year;
                dateTime.Month;
                dateTime.Day
      

  4.   

    http://hi.csdn.net/space.php?uid=2350406&do=album&id=121306
    图片到这里看
      

  5.   


    楼主为什么就不听我说的话呢?你直接按我说的调试一遍马上就可以找到问题了,手就是懒。
    明显你的ymd[0] 的值是 ‘2012 
      

  6.   

    感觉楼主处理时间字符串的思路大有问题
    参考8楼的
    好好看看MSDN的例子吧