从Timespan持续时间

时间:2015-07-31 17:18:14

标签: c# wpf datetime timespan duration

我知道之前已经问过这个问题,但我无法弄清楚如何根据我的具体例子得到答案。这是一个用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");

    }

编辑 - 已更新为包含私有空

2 个答案:

答案 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));