2014-02-24 67 views
3

我有两个文本框允许用户以这种格式(h:mm)输入开始时间和结束时间。我希望它能够在标签中返回差异。例如,如果用户在第一个文本框中输入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 and 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");