2015-07-31 4 views
0

Я знаю, что это было задано раньше, но я не мог понять, как получить ответы, приведенные для моего конкретного примера. Это приложение WPF, написанное на C#, и я пытаюсь удалить несколько минут с промежутка времени.Удалить минуты от продолжительности временного интервала

До сих пор у меня есть приложение, чтобы выяснить продолжительность, удалив время начала с финиша, но теперь я пытаюсь удалить количество минут, которые пользователь ввел в форму.

Вот код до сих пор

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"); 

    } 

Edit - обновление включает частные Void

+4

Что именно вы подразумеваете под "удалить несколько минут"? Вычтите? Круглый? Это действительно помогло бы, если бы вы показали короткую, но полную программу, демонстрирующую проблему - с входным и ожидаемым выходом. (Возможно, 'AddMinutes' с отрицательным значением - это все, что вы ищете?) –

+0

Я пытаюсь сбить количество минут, хранящихся в' lunchTime', из 'TimeSpan duration', данные' lunchTime' поступают из textbox на форме – HWGMousey

ответ

2

С пользовательского ввода было бы.

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))); 
+0

Вы, проклятый красивый человек, это сработало отлично спасибо огромное :) Вот рабочий код; 'TimeSpan duration = DateTime.Parse (finishTime) .Subtract (DateTime.Parse (startTime)). Вычесть (TimeSpan.FromMinutes (Int32.Parse (lunchTime))); testlabel.Text = duration.ToString (@ "hh \: mm"); ' – HWGMousey

1

Вы спрашиваете, как вычесть минут от TimeSpan?

Если так попробовать что-то вроде

TimeSpan ts = new TimeSpan().Subtract(TimeSpan.FromMinutes(30)); 
+0

Я пытаюсь вернуть исходный промежуток времени между 'startTime' и' finishTime', а затем удалить количество минут, указанное пользователем, сохраненное в 'lunchTime' – HWGMousey

 Смежные вопросы

  • Нет связанных вопросов^_^