如题!我想问一下,单纯的时间比较(0:30:30和21:57:28),不带日期的,怎么比较呢!谢谢!

解决方案 »

  1.   

    转换成DateTime比较string str1 = "0:30:30";
    string str2 = "21:57:28";
    if (DateTime.Parse(str1) > DateTime.Parse(str2))
    {
        richTextBox2.Text = str1 + " 比 " + str2 + " 大";
    }
    else
    {
        richTextBox2.Text = str2 + " 比 " + str1 + " 大";
    }
      

  2.   

     int i=DateTime.Compare(DateTime.Parse("00:30:30"), DateTime.Parse("21:57:28"));
                
                //当i == -1,A比B早 
                //当i == 0,A和B一样 
                //当i == 1,A比B晚
      

  3.   


    实际比较时不可能不带日期的,其实是忽略日期,也就是日期为同一天的时间比较
    转换为DateTime时,默认的日期为当天日期
      

  4.   

     DateTime dt1 = Convert.ToDateTime("22:30:30");
                DateTime dt2 = Convert.ToDateTime("21:57:28");
                if (dt1>dt2)
                {
                    Console.WriteLine("我比你大");
                }
                else
                {
                    Console.WriteLine("你比我小吧");
                }
      

  5.   

    if (DateTime.Parse(DateTime.Now.ToShortDateString()+"00:30:30") > DateTime.Parse(DateTime.Now.ToShortDateString()+"21:57:28"))
    {}
    或用TimeSpan
    private string DateDiff(DateTime DateTime1, DateTime DateTime2)
    {
    string dateDiff = null; 
    TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
    TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
    TimeSpan ts = ts1.Subtract(ts2).Duration();
    dateDiff = ts.Days.ToString()+"天"+ ts.Hours.ToString()+"小时"+ ts.Minutes.ToString()+"分钟"+ ts.Seconds.ToString()+"秒";
    return dateDiff;
    }
      

  6.   


    嗯!!!默认为当天的时间比较!!Console.WriteLine(dt1.ToString());//print>>>>2009-10-25 22:30:30
      

  7.   


    private void button1_Click(object sender, EventArgs e)
    {
        string str1 = "0:30:30";
        string str2 = "21:57:28";
        string[] strs1 = str1.Split(":".ToCharArray());
        string[] strs2 = str2.Split(":".ToCharArray());
        TimeSpan ts1 = new TimeSpan(0, int.Parse(strs1[0]), int.Parse(strs1[1]), int.Parse(strs1[2]));
        TimeSpan ts2 = new TimeSpan(0, int.Parse(strs2[0]), int.Parse(strs2[1]), int.Parse(strs2[2]));    if (ts1 > ts2) MessageBox.Show(str1 + " > " + str2);
        else if (ts1 < ts2) MessageBox.Show(str1 + " < " + str2);
        else if (ts1 == ts2) MessageBox.Show(str1 + " = " + str2);
    }