我想知道如何在完整的小时内获得两个日期之间的差异
例如
DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5, 33,00);
long hours = date1 - date2;
对 long/int 的强制转换将为您提供完整的时间。
TimeSpan span = date1.Subtract(date2);
long hours = (long)span.TotalHours;
var hours = (date1 - date2).TotalHours;
或者,如果您不想要一个小时的一小部分:
var hours = Math.Floor((date1 - date2).TotalHours);
您可以TimeSpan
通过减去两个日期来使用:
DateTime date1 = DateTime.Now;
DateTime date2 = new DateTime(2011, 8, 5);
TimeSpan ts = date1 - date2;
long hours = (long)ts.TotalHours;
如果你想尽可能准确地四舍五入,你可以使用Math.Round
:
long hours = (long)Math.Round(ts.TotalHours, MidpointRounding.AwayFromZero);
你可以试试
var result = date1 - date2;
var hours = result .TotalHours;
我发现了一个非常好的DateTimeSpan实现,我用它来计算这篇文章中的各种差异、小时、天、月