在我的应用程序中,我有4个文本框,2个文本框输入开始时间,2个文本框输入结束时间。获取两个值之间的时间差
用户将始终输入完成时间,因此输入始终为11:30,12:45等等。
如何获得开始时间和结束时间之间的小时和分钟差异?
在我的应用程序中,我有4个文本框,2个文本框输入开始时间,2个文本框输入结束时间。获取两个值之间的时间差
用户将始终输入完成时间,因此输入始终为11:30,12:45等等。
如何获得开始时间和结束时间之间的小时和分钟差异?
使用TimeSpan类和DateTime的Subtract方法。
DateTime t1 = Convert.ToDateTime(textBox1.Text);
DateTime t2 = Convert.ToDateTime(textBox2.Text);
TimeSpan ts = t1.Subtract(t2);
将小时数转换为分钟数,将其添加到现有分钟数,将其转换为总秒数,然后对endtime执行相同操作。将它们彼此减去,将它们转换回几小时和几分钟。记得一小时60分钟,一分钟60秒,那我该如何处理它。因为总秒数总是相同的,所以它很难教导一台计算机试图从60回到0或从12回到1.更容易使用像秒那样的完美线性。然后再转向上
TimeSpan difference = DateTime.Parse(txtbox1.Text) - Datetime.Parse(txtbox2.Text);
例子:
TimeSpan difference = DateTime.Parse("12:55")-DateTime.Parse("11:45");
double hourDiff= difference.TotalHours;
double minutes = difference.TotalMinutes;
Console.WriteLine(hourDiff);//1.16666666666667
Console.WriteLine(minutes);//70
创建两个DateTime
对象解析值在TextBox
控制和简单的减法两个DateTime
,你会得到一个TimeSpan
对象,它是你在找什么。
您可以通过减法获得差异的TimeSpan
。
TimeSpan time1 = TimeSpan.Parse(textBox1.Text);
TimeSpan time2 = TimeSpan.Parse(textBox2.Text);
TimeSpan difference = time1 - time2;
int hours = difference.Hours;
int minutes = difference.Minutes;
使用时间跨度:
DateTime dt1 = new DateTime(starttime.text);
DateTime dt2 = new DateTime(endtime.text);
TimeSpan result = dt2 - dt1;
然后你就可以从结果得到分,秒等。
您可以减去两个DateTime
s并收到TimeSpan
结构。这有属性检索Days
,Hours
,Minutes
,Seconds
等
var first = new DateTime(2012, 05, 08, 10, 30, 00);
var second = new DateTime(2012, 05, 08, 11, 49, 13);
var diff = first - second;
var hours = diff.Hours;
var mins = diff.Minutes;
使用时间跨度,没有必要使用日期类似
var start = TimeSpan.Parse(start.Text);
var end = TimeSpan.Parse(end.Text);
TimeSpan result = end - start;
var diffInMinutes = result.TotalMinutes();
东西[这里](http://stackoverflow.com/问题/ 2821040 /怎么办-I-GET-的时间差,二,日期时间,对象,使用-C间)。 – RBT