如何计算c#中2个不同日期之间的小时数

时间:2013-06-09 12:40:06

标签: c# asp.net datetimepicker

我一直在构建一个程序,我需要计算不同日期之间的差异.......它是一个网络中断程序,我想计算不同日期之间的停机时间,例如网络已关闭08/06/2013上午9:00,并在2013年6月9日晚上10:00恢复....停机时间应为34小时.........我已经能够计算天数但我希望这个小时格式所以任何人请帮助我............. 我使用datetimePicker同时获取日期和时间。

我一直在使用下面提到的代码

dateTimePicker1.Format = DateTimePickerFormat.Custom;


dateTimePicker1.CustomFormat = " dd/MM/yyyy hh:mm tt ";


dateTimePicker2.Format = DateTimePickerFormat.Custom;


dateTimePicker2.CustomFormat = " dd/MM/yyyy hh:mm tt "; 



ts1 = dt2.Subtract(dt1);


 richTextBox1.Text = "The Hours Difference is:\t" + dt2.Subtract(dt1).Hours + "\n The Minute Difference is:\t" + dt2.Subtract(dt1).Minutes;

2 个答案:

答案 0 :(得分:1)

您可以使用.Net timespan类。

System.DateTime firstDate = new System.DateTime(2006, 9, 13, 12, 0, 0);
System.DateTime SecondDate = new System.DateTime(2006, 9, 13, 0, 0, 0);
System.TimeSpan diffResult = firstDate.Subtract(SecondDate);

diffResult将包含firstDatesecondDate在年​​,月,日,小时,分钟和秒中的所有差异。

您可以从中获取任何日期部分:

diffResult.Days
diffResult.Hours
diffResult.Minutes
etc.

答案 1 :(得分:0)

你需要

dt2.Subtract(dt1).TotalHours

dt2.Subtract(dt1).TotalMinutes