关于.net:C# – 以分钟为单位计算时差

C# - Calculating time difference in minutes

本问题已经有最佳答案,请猛点这里访问。

我有以下代码:

1
2
3
DateTime start = DateTime.Now;
Thread.Sleep(60000);
DateTime end = DateTime.Now;

我想用分钟计算开始和结束之间的差异。我该怎么做?对于上面的示例,结果应为"1"。

事先谢谢!


您可以使用Subtract方法和TotalMinutes方法。

1
var result = end.Subtract(start).TotalMinutes;

如果你不需要分数分钟,就把它转换成int

1
var result = (int)end.Subtract(start).TotalMinutes;

查看msdn了解更多信息:substract和totalminutes


我认为更优雅的方法是使用秒表类

1
2
3
4
5
6
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;


只需考虑差异(如果您愿意,可以四舍五入):

1
2
double preciseDifference = (end - start).TotalMinutes;
int differentMinutes = (int)preciseDifference;

使用时间段。

它代表一个时间间隔,并将给你所寻找的差异。

这是一个例子。

1
2
3
TimeSpan span = end.Subtract ( start );

Console.WriteLine("Time Difference (minutes):" + span.Minutes );