我有以下代码:
DateTime start = DateTime.Now;
Thread.Sleep(60000);
DateTime end = DateTime.Now;
我想计算开始和结束之间的分钟差异。我该怎么办呢?对于上面的示例,结果应为“1”。
提前致谢!
答案 0 :(得分:8)
您可以使用Subtract
方法并使用TotalMinutes
。
var result = end.Subtract(start).TotalMinutes;
如果您需要它而没有小数分钟,只需将其转换为int
。
var result = (int)end.Subtract(start).TotalMinutes;
有关详细信息,请查看MSDN:Substract和TotalMinutes
答案 1 :(得分:3)
我认为更优雅的做法是使用秒表级
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
答案 2 :(得分:2)
简单地区分(如果你愿意,也许可以围绕它):
double preciseDifference = (end - start).TotalMinutes;
int differentMinutes = (int)preciseDifference;
答案 3 :(得分:1)
使用TimeSpan。
它代表一个时间间隔,会为您提供您正在寻找的差异。
以下是一个例子。
TimeSpan span = end.Subtract ( start );
Console.WriteLine( "Time Difference (minutes): " + span.Minutes );