【发布时间】:2011-02-12 10:35:35
【问题描述】:
我获取两个 DateTime 字段之间的差异,并将其存储在 TimeSpan 变量中,现在我必须通过以下规则对 TimeSpan 进行四舍五入:
如果 TimeSpan 中的分钟数小于 30,则 Minutes 和 Seconds 必须设置为零,
如果 TimeSpan 中的分钟数等于或大于 30,则小时数必须增加 1,并且分钟和秒数必须设置为零。
TimeSpan 也可以是负值,所以在这种情况下我需要保留符号..
如果 TimeSpan 不是负值,我可以达到要求,尽管我编写了一个代码,但我对它的低效率不满意,因为它更笨重..
请给我一个更简单有效的方法。
谢谢问候,
这是我的代码,当 TimeSpan 不是负值时可以正常工作..
TimeSpan time_span = endTime.Subtract(startTime);
TimeSpan time_span1;
if (time_span.Minutes >= 30)
{
time_span1 = new TimeSpan(time_span.Hours + 1, 0, 0);
}
else
{
time_span1 = new TimeSpan(time_span.Hours, 0, 0);
}
time_span1 将包含结果..
【问题讨论】:
-
请向我们展示您的代码
-
你为什么不分享你的代码作为开始的基础?