我在下面创建了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;