我知道之前已经问过这个问题,但我无法弄清楚如何根据我的具体例子得到答案。这是一个用C#编写的WPF应用程序,我试图从一个时间跨度删除几分钟。
到目前为止,我已经让应用程序通过从完成时间中删除开始时间来计算持续时间,但我现在要做的是删除用户输入表单的分钟数。 / p>
这是迄今为止的代码
private void testcal_Click(object sender, EventArgs e)
{
string startTime = teststart.Text;
string finishTime = testfinish.Text;
// Trying to deduct this lunchTime var from the duration TimeSpan
string lunchTime = testlunch.Text;
TimeSpan duration = DateTime.Parse(finishTime).Subtract(DateTime.Parse(startTime));
testlabel.Text = duration.ToString(@"hh\:mm");
}
编辑 - 已更新为包含私有空
答案 0 :(得分:3)
用户输入即可。
string startTime = teststart.Text;
string finishTime = testfinish.Text;
string lunchTime = testlunch.Text;
TimeSpan duration = DateTime.Parse(finishTime).Subtract(DateTime.Parse(startTime)).
Subtract(TimeSpan.FromMinutes(Int32.Parse(lunchtime)));
答案 1 :(得分:2)
您是否在询问如何从TimeSpan中减去分钟数?
若是,请尝试
TimeSpan ts = new TimeSpan().Subtract(TimeSpan.FromMinutes(30));