最近在做一個項目,其中有個測試老方法的性能,最簡單的測試方法就是測試此方法的總運行時間,這個方法的代碼行有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 ")
後面一個我有點不能理解,但通過多次測試和第一個得到的數據是一樣的。
最後選擇第一個方法,比較簡潔直觀。