string str="2003.02.30";
str=str.Replace(".","-");
DataTime dt=DateTime.Parse(str);

解决方案 »

  1.   

    DateTime dt = DateTime.ParseExact("2003.02.30","yyyy.MM.dd",null);
      

  2.   

    是啊,我也没有注意到2月居然有30,但你可以用上面的办法转换一下然后再打印dt.ToString(),看看是不是变成3月2号了,或者产生异常。
      

  3.   

    DateTime dt = DateTime.ParseExact("2003.02.30","yyyy.MM.dd",null);2003.02.30 肯定是出现“超出范围”异常,楼主控制一下就是。
      

  4.   

    int year=2003;
    int month=2;
    int day=30;
    DataTime dt=new DataTime();
    dt.year=year;
    dt.month=month;
    dt.day=day;
    最愚蠢的方法,^_^
      

  5.   

    虽然数据不对,但是方法对了!rock1981() 的方法测试成功!
      

  6.   

    cystec () 的方法是正确的,只是日期不对。
      

  7.   

    str=str.Replace(".","-");
    DataTime dt=DateTime.Parse(str);