Calculați durata folosind Date.Time.Now în C# (Programare, C#, Timp)

Qusyaire Ezwan a intrebat.

Am nevoie să calculez durata pentru sistemul meu de funcționare. Sistemul meu în c#.Am setat:

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

după câteva procese.

Am setat :

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

Cum să calculez durata pentru sistemul meu de funcționare în milisec sau sec.

4 răspunsuri
avs099

pentru a măsura cu exactitate timpul scurs, utilizați StopWatch clasa:

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

Preet Sangha
 (endRunningProg  - startRunningProg).TotalMilliseconds ;

Dar @avs are dreptate – folosiți clasa Stopwatch. Consultați această întrebare Stopwatch vs. utilizarea clasei System.DateTime.Now pentru evenimente de cronometrare

Brad Cunningham

După cum s-a menționat, dacă încercați să faceți cronometrări precise, atunci ar trebui să folosiți clasa StopWatch.

Dacă doriți de fapt să faceți calcule matematice cu date și să aflați diferența dintre două date, vă sugerez să consultați Noda Time

Luis Hernandez

Utilizarea clasei Stopwatch :

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

Folosind DateTime:

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

Exemplu online: https://dotnetfiddle.net/Aqvc5G

Tags:,