最近在做一个项目,其中有个测试老方法的性能,最简单的测试方法就是测试此方法的总运行时间,这个方法的代码行有1200行(包括End if之类的),
在方法dim之前就定义一个时间参数
dim dtStartTime as datetime = now ’2010-08-09 14:35:25.421
。
。
。
。
在方法最后面定义一个时间参数
dim dtEndTime as datetime = now ’2010-08-09 14:35:27.681
’时间差intDiff
最开始以前做的时间差都是用
DateDiff方法,一查这个是时间差只精确到秒。
dateDiff(DateInterval.seconds,dtStartTime ,dtEndTime)DateInterval.seconds:精确到秒
以下是DateInterval自带的方法
DateInterval.Day | "d" | 天 |
DateInterval.DayOfYear | "y" | 天 |
DateInterval.Hour | "h" | 時 |
DateInterval.Minute | "n" | 分 |
DateInterval.Month | "m" | 月份 |
DateInterval.Quarter | "q" | 季 |
DateInterval.Second | "s" | 秒 |
DateInterval.Weekday | "w" | 週 |
DateInterval.WeekOfYear | "ww" | 行事曆週 |
DateInterval.Year | "yyyy" | 年 |
我要精确到毫秒,而且包含全部的时间差,经过多次测试得到最终的方法:
1。dim a1 as timespan = dtEndTime -dtStartTime
dim a2 as integer = a2.TotalMilliseconds '精确到毫秒数
2。我从其他网站看到的一个方法是:
Format(Date.FromOADate(dtEndTime .Subtract(dtStartTime ).TotalMilliseconds).ToOADate, "0.00 ")
后面一个我有点不能理解,但通过多次测试和第一个得到的数据是一样的。
最后选择第一个方法,比较简洁直观。