C#中的高精度计时方法(三)
现在有了新的发现,原来C#自带,居然一直没发现。
最近为了统计网页在服务端实际处理时间时翻到了这个属性:DateTime.Now.Ticks
private long times1 = 0;
protected override void OnPreInit(EventArgs e)
{
times1 = DateTime.Now.Ticks;
base.OnPreInit(e);
}
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
times1 = DateTime.Now.Ticks - times1;
System.Diagnostics.Debug.WriteLine((times1 / 10000000.0).ToString());
}
private long times1 = 0;
protected override void OnPreInit(EventArgs e)
{
times1 = DateTime.Now.Ticks;
base.OnPreInit(e);
}
protected override void OnUnload(EventArgs e)
{
base.OnUnload(e);
times1 = DateTime.Now.Ticks - times1;
System.Diagnostics.Debug.WriteLine((times1 / 10000000.0).ToString());
}
这里的ticks返回的是当前时刻的“100毫微秒”数,翻了下百度,毫微秒就是纳秒。10的九次方纳秒=1秒,所以要把ticks换成秒就要除以10的7次方。
注意要返回double型才行,否则默认为long型的话,基本上都会返回零了。因为代码实际处理时间通常很短,默认返回long的话会把后面小数点后的舍去。