C# - 以分钟为单位计算时差

时间:2017-07-18 13:18:27

标签: c# .net datetime time date-difference

我有以下代码:

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

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

提前致谢!

4 个答案:

答案 0 :(得分:8)

您可以使用Subtract方法并使用TotalMinutes

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

如果您需要它而没有小数分钟,只需将其转换为int

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

有关详细信息,请查看MSDN:SubstractTotalMinutes

答案 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 );