5

在 TimeSpan 上使用 Humanizer,精度为 4:

(dateEnd - dateStart).Humanize(4)

它会生成如下内容:

2 hours, 17 minutes, 20 seconds, 141 milliseconds

但是当剩下的时间只有几分钟(不到一个小时)时,它会生成:

17 minutes, 20 seconds, 141 milliseconds, no time

有没有办法不包括这个“没有时间”?

4

1 回答 1

4

我这样做是为了根据运行时间长度更改精度:

TimeSpan runTime = dateEnd - dateStart;

if (runTime.TotalMinutes < 1)
{
    precision = 1; //49 seconds
}
else if (runTime.TotalHours < 1)
{
    precision = 2; //27 minutes, 49 seconds
}
else
{
    precision = 3; //1 day, 2 hours, 27 minutes  OR  2 hours, 27 minutes, 49 seconds
}

runTime.Humanize(precision);
于 2014-07-10T19:20:07.727 回答