System.TimeSpan ts = DateTime.Parse("2007-01-12 17:12:13.000") - DateTime.Parse(ThisTime);
             
                int ts_d = Int32.Parse(ts.Days.ToString());
                int ts_m = Int32.Parse(ts.Minutes.ToString());
我发现一个问题ts_d是以超过24小时算一天的,而我是要求就算只相差一分钟,超过午夜24点就算第二天比如 07年1.12 23:59分 到 07年1.13 00:1分我是以一天算的
但int ts_d = Int32.Parse(ts.Days.ToString());必须到07年1.13 23:59分 以上才算一天怎么解决这个问题啊

解决方案 »

  1.   

    //把时间部分清0
    DateTime dt1 = DateTime.Parse(ThisTime)
    dt1 = new DateTime(dt1.Year,dt1.Month,dt1.Day);
    DateTime dt2 = DateTime.Parse("2007-01-12 17:12:13.000")
    dt2 = new DateTime(dt2.Year,dt2.Month,dt2.Day);
    System.TimeSpan ts = dt2 - dt1;
      

  2.   

    或者Parse前直接把字符串时间部分截掉
      

  3.   

    还是用分割字符串解决了
    就是麻烦点
    不知道有没有更好的办法                System.TimeSpan ts = DateTime.Parse(DateTime.Now.ToString()) - DateTime.Parse(ThisTime);                //System.TimeSpan ts = DateTime.Parse("2007-01-12 17:12:13.000") - DateTime.Parse(ThisTime);
                    string[] s1 = DateTime.Now.ToString().Split(' ');
                    string[] s2 = s1[0].Split('-');
                    int d1 = int.Parse(s2[2].ToString());                string[] s3 = ThisTime.Split(' ');
                    string[] s4 = s3[0].Split('-');
                    int d2 = int.Parse(s4[2].ToString());                int dc = d1 = d2;