在给定两个日期的情况下,如何在几分钟内获得TimeSpan?

Sre*_*har 60 c#

为了在给定的两个日期的几分钟内获得TimeSpan,我将执行以下操作

int totalMinutes = 0;
TimeSpan outresult = end.Subtract(start);
totalMinutes = totalMinutes + ((end.Subtract(start).Days) * 24 * 60) + ((end.Subtract(start).Hours) * 60) +(end.Subtract(start).Minutes);
return totalMinutes;
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

Jos*_*osh 158

TimeSpan span = end-start;
double totalMinutes = span.TotalMinutes;
Run Code Online (Sandbox Code Playgroud)


Dav*_*jak 17

为什么不这样做呢?

DateTime dt1 = new DateTime(2009, 6, 1);
DateTime dt2 = DateTime.Now;
double totalminutes = (dt2 - dt1).TotalMinutes;
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.


Luk*_*ane 8

我会这样做:

int totalMinutes = (int)(end - start).TotalMinutes;
Run Code Online (Sandbox Code Playgroud)

  • 确实很老,但是`cast`会截断。使用`Convert.ToInt32`获取正确的舍入。 (2认同)

Ant*_*lev 7

请参阅TimeSpan.TotalMinutes:

获取以整数和小数分钟表示的当前TimeSpan结构的值.


小智 6

double totalMinutes = (end-start).TotalMinutes;
Run Code Online (Sandbox Code Playgroud)