c# – 2个时间间隔之间的时差无法返回预期数据

我在下面创建了2个Timespans:

TimeSpan currentTs = TimeSpan.FromSeconds(43995); //12:13:15
TimeSpan towTime = TimeSpan.FromSeconds(303072); //12:11:12

我试图在几分钟内找到差异(通过我传递它的秒数,看起来它们在不同的日子里).我希望差异大约2分钟,但实际上,我得到-57分钟.

int timeDifference = (int)currentTs.Subtract(towTime).Minutes;

谁能解释我做错了什么?

解决方法:

如果您只是寻找分钟之间的差异(不包括天,小时或秒),那么您可以使用

double timeDifference = currentTs.Minutes - towTime.Minutes; // 2

这只是分钟组件的差异.正如其他人所说,这些时间相隔3天,因此TimeSpan可能并不理想.

或者,如果您想要包含秒数,也可以使用

TimeSpan minutes1 = new TimeSpan (0, currentTs.Minutes, currentTs.Seconds);
TimeSpan minutes2 = new TimeSpan (0, towTime.Minutes, towTime.Seconds);

double timeDifference = minutes1.TotalMinutes - minutes2.TotalMinutes // 2.05;
上一篇:mysql – 计算日期/时间段的平均值


下一篇:php – 使用时间跨度的最佳方式?