如何计算三个文本框的时间差?

时间:2014-12-21 15:57:23

标签: c# date time

我有三个文本框,我可以在此屏幕截图中输入时间:

Form screenshot

最后我想得到进入时间(t1),退出时间(t2)和中断(t3)的差异:t1 - t2 - t3。

但由于错误消息,我无法做到这一点:

  

运算符' - '不能应用于'System.TimeSpan'和'System.DateTime'类型的操作数

我的代码如下:

DateTime t1, t2, t3,  reserve;
t1 = DateTime.Parse(inBox.Text); //from text box1 eg.11:30
t2 = DateTime.Parse(outBox.Text); //from text box2 eg.12:30
t3 = DateTime.Parse(breakBox.Text); //from text box3 eg.0:30
TimeSpan diffTime = t2 - t1 -t3;// there is a problem doing this!!!
answerLabel.Text = diffTime.ToString();

2 个答案:

答案 0 :(得分:0)

这个怎么样?

DateTime t1, t2, t3,  reserve;

t1 = DateTime.Parse(inBox.Text); //from text box1 eg.11:30
t2 = DateTime.Parse(outBox.Text); //from text box2 eg.12:30
t3 = DateTime.Parse(breakBox.Text); //from text box3 eg.0:30

TimeSpan diffTime1 = t1 - t2;
TimeSpan diffTime2 = t2 - t3;

TimeSpan totalSpan = diffTime1 + diffTime2;

answerLabel.Text = diffTime2.ToString();

答案 1 :(得分:0)

根据您在链接中提供的屏幕截图,我认为您正在寻找:

DateTime entryTime = DateTime.Parse("11:30");
DateTime exitTime = DateTime.Parse("14:30");
TimeSpan breakSpan = TimeSpan.Parse("0:30");
TimeSpan workSpan = (exitTime - entryTime - breakSpan);
answerLabel.Text = workSpan.ToString();

中断不能是DateTime,而是TimeSpan