C#如何进行时间相加和相减?例如,TextBox1.Text=@"14:44:38";
TextBox2.Text=@"22:32:06";
Label1.Text=TextBox2的时间+TextBox1的时间;
Label2.Text=TextBox2的时间-TextBox1的时间;
我想知道,C#里,如何用代码实现时间计算的。不能让用户自己来计算。时间太麻烦了。

解决方案 »

  1.   

    转换为DataTime类型,然后调用相应的函数进行运算.
      

  2.   

    转换成时间类型 然后用timespan 取2个时间之差
      

  3.   

    转换成timespan,时间间隔,然后在进行加减运算~~
      

  4.   


     
    TextBox1.Text=@"14:44:38";
    TextBox2.Text=@"22:32:06";
    Label1.Text=TextBox2的时间+TextBox1的时间;
    //DateTime dt1 = Convert.ToDateTime(TextBox1.Text);
    //DateTime dt2 = Convert.ToDateTime(TextBox2.Text);
    //TimeSpan ts = dt1 - dt2;
    //Label2.Text = ts.ToString();//dt1.AddHours(dt2.Hour);
    //dt1.AddMinutes(dt2.Minute);
    //dt1.AddSeconds(dt2.Second);
    //Label1.Text = dt1.ToLongTimeString();Label2.Text=TextBox2的时间-TextBox1的时间;
      

  5.   


    TimeSpan ts = Convert.toDateTime(txb1.text) - Convert.toDateTime(txb2.text)
    txb3.text=ts.toString();
      

  6.   

    Agree,, DateTime+TimeSpan 才OK
      

  7.   

    TimeSpan应该可以满足你的要求
      

  8.   

    很简单,微软封装好了的  只要把两个TextBox里面的内容转换为时间类型
    我记得直接想减都可以
      

  9.   

    zhu4139365果然利害。谁说时间相加没意义?会议开始时间为22:23:47. 会议持续时间为09:49:55.会议结束时间,你能不动脑,100%准确无误地口算出来?做不出来,就说没意义。
      

  10.   


    22:23:47 是时间 datetime
    09:49:55 是时间段, timespan 而不是时间datetime
    是指提的问题本来就有语病
    问题本身再简单不过了
      

  11.   

    09:49:55 是时间段, 这就是表示开会时间长为9个小时49分55秒。我只是写法上和时刻的表示方式相同。没什么难理解的。因为用户在TextBox1里输入的开会的开始时刻格式,应该和TextBox2里输入的开会时间的格式保持一致。你不能突然让它在TextBox2里,用中文写上:开会时间长为9个小时49分55秒
      

  12.   

    相减的有人回了.我给你回个相加的吧            DateTime beginTime1 = DateTime.Parse(TextBox1.Text);
                TimeSpan midTime = TimeSpan.Parse(TextBox1.Text);
                this.Label1.Text= beginTime1.Add(midTime).ToString();
      

  13.   

    错了.TimeSpan midTime = TimeSpan.Parse(TextBox2.Text);