最近在做一个项目,其中有个测试老方法的性能,最简单的测试方法就是测试此方法的总运行时间,这个方法的代码行有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 ")
后面一个我有点不能理解,但通过多次测试和第一个得到的数据是一样的。
最后选择第一个方法,比较简洁直观