C# 如何获得日期差异

C# 如何获得日期差异,c#,datetime,C#,Datetime,我想知道如何在完整的小时内得到两个日期之间的差异 e、 g 正是长/整数的转换将给你完整的时间 TimeSpan span = date1.Subtract(date2); long hours = (long)span.TotalHours; 您可以通过减去两个日期来使用: DateTime date1 = DateTime.Now; DateTime date2 = new DateTime(2011, 8, 5); TimeSpan ts = date1 - date2; long h

我想知道如何在完整的小时内得到两个日期之间的差异

e、 g


正是长/整数的转换将给你完整的时间

TimeSpan span = date1.Subtract(date2);
long hours = (long)span.TotalHours;
您可以通过减去两个日期来使用:

DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5); 
TimeSpan ts = date1 - date2;
long hours = (long)ts.TotalHours;
如果要使其尽可能精确,可以使用:

或者,如果你不想要一个小时的零头:

var hours = Math.Floor((date1 - date2).TotalHours);
你可以试试看

  var result = date1 - date2;
    var hours = result .TotalHours;

<>我找到了一个非常好的<强> <强>实现,我用它来计算各种差异,小时,天,月< /p> @ SAJ -你认为“完整的小时”是什么?顺便说一句,这句话的结果和你的完全一样(这种形式的日期减法也会产生一个时间跨度)。整整60分钟,总小时返回一个双精度,我希望没有小数
var hours = (date1 - date2).TotalHours;
var hours = Math.Floor((date1 - date2).TotalHours);
  var result = date1 - date2;
    var hours = result .TotalHours;