两个DateTimes C#之间的区别?

abm*_*bmv 88 c# datediff date

我需要一个函数,可以将以下两个日期之间的差异返回为24.

DateTime a = new DateTime(2008, 01, 02, 06, 30, 00);
DateTime b = new DateTime(2008, 01, 03, 06, 30, 00);
Run Code Online (Sandbox Code Playgroud)

Joe*_*ert 172

您可以执行以下操作:

TimeSpan duration = b - a;
Run Code Online (Sandbox Code Playgroud)

在时间跨度类中有很多内置的方法可以满足您的需求,即

duration.TotalSeconds
duration.TotalMinutes
Run Code Online (Sandbox Code Playgroud)

更多信息可以在这里找到.


Jar*_*Par 17

请尝试以下方法

double hours = (b-a).TotalHours;
Run Code Online (Sandbox Code Playgroud)

如果您只想要小时差异,不包括天数差异,您可以使用以下内容

int hours = (b-a).Hours;
Run Code Online (Sandbox Code Playgroud)

当时间差超过1天时,主要看到这两个属性之间的差异.The Hours属性仅报告两个日期之间的实际小时差异.因此,如果两个日期相差100年但是在当天的同一时间发生,则小时数将返回0.但是TotalHours将返回两个日期之间发生的总小时数之间的差异(在这种情况下为876,000小时).

另一个区别是TotalHours将返回小时数.这可能是也可能不是你想要的.如果没有,Math.Round可以根据自己的喜好进行调整.

  • @Vilx,不一定错.OP的意图含糊不清 (2认同)