2014-02-24 4 views
3

У меня есть два текстовых поля, которые позволяют пользователю вводить время начала и время окончания в этом формате (h: мм). Я хочу, чтобы он возвращал разницу в метке. Например, если пользователь вводит 1:35 в первом текстовом поле и 3:30 во втором текстовом поле и нажмите кнопку «Рассчитать», он вернет время 1:55.Как рассчитать разницу между двумя временами?

Любые идеи или ресурсы для этого? Я только хочу рассчитать разницу в часах и минутах между двумя текстовыми полями. Дата и секунды не имеют значения.

+0

@ Пьер-LucPineault, не очень дубликата на связанный вопрос, Входные значения различны * (с AM, PM) *, и для этого требуется синтаксический анализ 'DateTime'. – Habib

+0

@Habib Основная проблема такая же; там 2 значения времени, эти значения необходимо разобрать, а затем вычесть. Этот вопрос является лишь более простым примером другого. –

ответ

7

Parse оба значения текстовых полей до TimeSpan, а затем вы можете принять их разницу, используя -.

TimeSpan ts1 = TimeSpan.Parse(textBox1.Text); //"1:35" 
TimeSpan ts2 = TimeSpan.Parse(textBox2.Text); //"3:30" 

label.Text = (ts2 - ts1).ToString();   //"1:55:00" 
+0

TimeSpan! Большое спасибо за ваш ответ! – Michael

+0

@ user2112439, добро пожаловать – Habib

+0

@Habib: Можно ли получить такой результат: textbox1.Text = 4/26/2015 5:39:09 AM и textBox2.Text = 4/26/2015 5:45: 24 часа. Я хочу получить результат 6. (т. Е. Хочу рассчитать разницу между временем (5:39:09 - 5:45:24)) – Reshma

0

Если вы разыгрываете вход в DateTime объектов вы можете рассчитать абсолютное время между ними следующим образом:

DateTime.Parse(startDate).Subtract(DateTime.Parse(endDate)).Duration().ToString("hh:mm"); 
Смежные вопросы