8

我正在使用代码

var minutesPassed = (DateTime.UtcNow - conversionsList.Last().DateStamp).TotalMinutes;

计算两个日期之间经过的分钟数。我得到的结果看起来像

254.54445556

我得到分钟和秒。如何获得只包含这样几分钟的结果

254

?

4

3 回答 3

9

只需将结果显式转换为int

var minutesPassed = (int)(DateTime.UtcNow - conversionsList.Last().DateStamp).TotalMinutes;
于 2012-07-11T11:06:23.120 回答
7

用于Math.Floor()将 254.xxxx 转换为 254:

var minutesPassed = Math.Floor((DateTime.UtcNow - conversionsList.Last().DateStamp).TotalMinutes);
于 2012-07-11T11:04:55.673 回答
3

你可以得到 int 部分

int minutes = (int) (DateTime.UtcNow - conversionsList.Last().DateStamp).TotalMinutes;

这将为您提供值的 int 部分。

编辑:就价值的四舍五入而言。那不是真的。考虑以下:

 double d = 254.99999999999d;
 int test = (int)d;

这里test将举行254,而不是255

显式转换的唯一问题是OverFlowException

于 2012-07-11T11:06:52.733 回答