在 C# 中使用 Date.Time.Now 计算持续时间

本文关键字:Time Now 计算 持续时间 Date | 更新日期: 2023-09-27 18:36:55

>我需要计算系统运行的持续时间。我的系统在 c# 中。我已经设置了:

DateTime startRunningProg = Date.Time.Now("o");

经过几个过程。

我设置:

DateTime endRunningProg = Date.Time.Now("o");

如何计算我的系统运行的持续时间(以毫秒或秒为单位)。

在 C# 中使用 Date.Time.Now 计算持续时间

要准确测量经过的时间,请使用秒表类:

Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
Thread.Sleep(10000);
stopWatch.Stop();
// Get the elapsed time as a TimeSpan value.
TimeSpan ts = stopWatch.Elapsed;
// Format and display the TimeSpan value.
string elapsedTime = String.Format("{0:00}:{1:00}:{2:00}.{3:00}",
    ts.Hours, ts.Minutes, ts.Seconds,
    ts.Milliseconds / 10);
Console.WriteLine("RunTime " + elapsedTime);
 (endRunningProg  - startRunningProg).TotalMilliseconds ;

但@avs是对的 - 使用秒表类。请参阅此问题秒表与使用 System.DateTime.Now 了解计时事件

使用秒表:

Stopwatch timer = Stopwatch.StartNew();
Thread.Sleep(1234);
timer.Stop();
TimeSpan timeSpan = timer.Elapsed;
Console.WriteLine("Total processing time... {0:00}:{1:00}:{2:00}.{3}", timeSpan.Hours, timeSpan.Minutes, timeSpan.Seconds, timeSpan.Milliseconds);
// OUTPUT   Total processing time... 00:00:01.243

使用日期时间:

DateTime start = DateTime.Now;
Thread.Sleep(1234);
DateTime end = DateTime.Now;
TimeSpan diff = (end  - start);
Console.WriteLine("Total processing time... {0:00}:{1:00}:{2:00}.{3}", diff.Hours, diff.Minutes, diff.Seconds, diff.Milliseconds);
// OUTPUT   Total processing time... 00:00:01.234

在线示例:https://dotnetfiddle.net/Aqvc5G

就像已经提到的,如果你试图做精确的计时,那么你应该使用秒表类。

如果你真的想做日期数学并找出两个日期之间的差异,我建议你看看野田时间