从时间跨度持续时间中删除分钟数
Remove Minutes from a Timespan duration
我知道之前有人问过这个问题,但我不知道如何获得针对我的特定示例的答案。这是一个用 C# 编写的 WPF 应用程序,我正在尝试从时间跨度中删除分钟数。
到目前为止,我的应用程序可以通过从结束时间中删除开始时间来计算持续时间,但我现在要做的是删除用户在表单中输入的分钟数.
这是目前的代码
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");
}
编辑 - 更新为包含 private void
您是在问如何从 TimeSpan 中减去分钟数?
如果是这样尝试
TimeSpan ts = new TimeSpan().Subtract(TimeSpan.FromMinutes(30));
有了用户输入就可以了。
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)));
DateTime selectedDate = DateTime.Parse("10/09/2021");
DateTime now = DateTime.Now;
TimeSpan subtract = now - selectedDate;
subtract -= new TimeSpan(7, 0, 0, 0);
我知道之前有人问过这个问题,但我不知道如何获得针对我的特定示例的答案。这是一个用 C# 编写的 WPF 应用程序,我正在尝试从时间跨度中删除分钟数。
到目前为止,我的应用程序可以通过从结束时间中删除开始时间来计算持续时间,但我现在要做的是删除用户在表单中输入的分钟数.
这是目前的代码
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");
}
编辑 - 更新为包含 private void
您是在问如何从 TimeSpan 中减去分钟数?
如果是这样尝试
TimeSpan ts = new TimeSpan().Subtract(TimeSpan.FromMinutes(30));
有了用户输入就可以了。
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)));
DateTime selectedDate = DateTime.Parse("10/09/2021");
DateTime now = DateTime.Now;
TimeSpan subtract = now - selectedDate;
subtract -= new TimeSpan(7, 0, 0, 0);