首先将默认时间保存为 TimeSpan。然后你可以拿 DateTime.Now 并在操作开始时保存它。再拿一个 DateTime.Now 稍后当它完成时。在此之后,您可以计算当前操作的 TimeSpan。然后您可以将这两个 TimeSpan 的差异计算为另一个 TimeSpan。它可以是积极的或消极的,有了这些价值观,你可以做任何你想做的事情。
TimeSpan defaultDuration = new TimeSpan(3, 30, 0);
DateTime begin = DateTime.Now;
//Do some work
DateTime end = DateTime.Now;
TimeSpan thisDuration = end - begin;
Console.WriteLine("Default: " + defaultDuration.ToString("hh\\:mm\\:ss"));
Console.WriteLine("This time: " + thisDuration.ToString("hh\\:mm\\:ss"));
Console.Write("Difference: ");
if (thisDuration > defaultDuration)
Console.Write("-");
Console.WriteLine((thisDuration - defaultDuration).ToString("hh\\:mm\\:ss"));