C#计算程序执行的时间间隔

我在这提供3种方法。

一、用SpanTime

TimeSpan ts1 = new TimeSpan(DateTime.Now.Ticks); //获取当前时间的刻度数
            //执行某操作
            TimeSpan ts2 = new TimeSpan(DateTime.Now.Ticks);

            TimeSpan ts = ts2.Subtract(ts1).Duration(); //时间差的绝对值

            string spanTotalSeconds = ts.TotalSeconds.ToString(); //执行时间的总秒数
            string spanTime = ts.Hours.ToString() + "小时" + ts.Minutes.ToString() + "分"  + ts.Seconds.ToString() + "秒"; //以X小时X分X秒的格式现实执行时间

二、用StopWatch

Stopwatch 位于 System.Diagnostics 命名空间中。

//实例化一个计时器
Stopwatch watch = new Stopwatch();
//开始计时
watch.Start();
//此处为要计算的运行代码
for (int i = 1; i < 1000000; i++) { }   // Execute the task to be timed
//结束计时
watch.Stop();
//获取当前实例测量得出的总运行时间(以毫秒为单位)
string time = watch.ElapsedMilliseconds.ToString();
//说明:Stopwatch提供了几个方法用以控制Stopwatch对象。Start方法开始一个计时操作,Stop方法停止计时。为避免这种情况,在第二次计时前用Reset方法将对象归零
 
Console.WriteLine("Elapsed: {0}",watch.Elapsed);
Console.WriteLine("In milliseconds: {0}",watch.ElapsedMilliseconds);
Console.WriteLine("In timer ticks: {0}",watch.ElapsedTicks);

三、用DataTime

DateTime startTime = DateTime.Now;
Console.WriteLine ("Started: {0}", startTime);
 
// Execute the task to be timed
for (int i=1; i < 100000; i++){}  
DateTime stopTime = DateTime.Now;
Console.WriteLine ("Stopped: {0}", stopTime);
TimeSpan elapsedTime = stopTime - startTime;
Console.WriteLine ("Elapsed: {0}", elapsedTime);
Console.WriteLine ("in hours       :" + elapsedTime.TotalHours);
Console.WriteLine ("in minutes     :" + elapsedTime.TotalMinutes);
Console.WriteLine ("in seconds     :" + elapsedTime.TotalSeconds);
Console.WriteLine ("in milliseconds:" + elapsedTime.TotalMilliseconds);
 

猜你喜欢

转载自blog.csdn.net/huxyc/article/details/88075243