您的位置:首页 > 编程语言 > C#

C#计算代码运行时间,以及总秒数转换为时间格式的问题

2015-09-21 16:17 891 查看
最近项目中遇到了此类问题,然后网上也去了解学习了一下

代码运行时间计算问题

直接代码:

第一种方法利用System.DateTime.Now

static void SubTest()
{
DateTime beforDT = System.DateTime.Now;

//此处为你需要计算运行时间的代码

DateTime afterDT = System.DateTime.Now;
TimeSpan ts = afterDT.Subtract(beforDT);
Console.WriteLine("DateTime总共花费{0}s.", ts.TotalSeconds);
}


第二种用Stopwatch类(System.Diagnostics)

static void SubTest()
{
Stopwatch sw = new Stopwatch();
sw.Start();

//此处为你需要计算运行时间的代码

sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("Stopwatch总共花费{0}s.", ts2.TotalSeconds);
}


第三种用API实现:

[System.Runtime.InteropServices.DllImport("Kernel32.dll")]
static extern bool QueryPerformanceCounter(ref long count);
[System.Runtime.InteropServices.DllImport("Kernel32.dll")]
static extern bool QueryPerformanceFrequency(ref long count);
static void SubTest()
{
long count = 0;
long count1 = 0;
long freq = 0;
double result = 0;
QueryPerformanceFrequency(ref freq);
QueryPerformanceCounter(ref count);

//此处为你需要计算运行时间的代码

QueryPerformanceCounter(ref count1);
count = count1 - count;
result = (double)(count) / (double)freq;
Console.WriteLine("QueryPerformanceCounter耗时: {0} 秒", result);
}


二。总秒数转换为时间格式

int s = 6000;//总秒数
TimeSpan ts = new TimeSpan(0, 0, s);
Label1.Text = (int)ts.TotalHours + "小时" + ts.Minutes + "分钟" + ts.Seconds + "秒";
这里的ts.Seconds和ts.TotalSeconds是有区别的,切记,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: