可能重复:
如何处理Rounding-TimeSpan?
有没有办法轻松地将ac#TimeSpan(可能包含超过一天)放在一边这样做
0天23h 59m变为1天0 h 0 m?
0天23h 47m变为0天23 h 50 m?
等等?
这是我到目前为止所提出的:
int remainder = span2.Minutes % 5;
if (remainder != 0)
{
    span2 = span2.Add(TimeSpan.FromMinutes(5 - remainder));
}
对于一些相当简单的东西来说似乎有很多代码:(是不是有一些内置的c#函数我可以使用圆形时间盘?
Ant*_*lev 19
这里是:
var ts = new TimeSpan(23, 47, 00);
ts = TimeSpan.FromMinutes(5 * Math.Ceiling(ts.TotalMinutes / 5));
或者加一粒糖:
public static class TimeSpanExtensions
{
    public static TimeSpan RoundTo(this TimeSpan timeSpan, int n)
    {
        return TimeSpan.FromMinutes(n * Math.Ceiling(timeSpan.TotalMinutes / n));
    }
}
ts = ts.RoundTo(5);
| 归档时间: | 
 | 
| 查看次数: | 8805 次 | 
| 最近记录: |