Tôi muốn biết mất bao nhiêu thời gian để hoàn thành một thủ tục / chức năng / lệnh, cho mục đích thử nghiệm.
Đây là những gì tôi đã làm nhưng phương pháp của tôi sai 'vì nếu sự khác biệt của giây là 0 không thể trả về mili giây đã trôi qua:
Lưu ý rằng giá trị ngủ là 500 ms nên số giây trôi qua là 0 thì nó không thể trả về mili giây.
Dim Execution_Start As System.DateTime = System.DateTime.Now
Threading.Thread.Sleep(500)
Dim Execution_End As System.DateTime = System.DateTime.Now
MsgBox(String.Format("H:{0} M:{1} S:{2} MS:{3}", _
DateDiff(DateInterval.Hour, Execution_Start, Execution_End), _
DateDiff(DateInterval.Minute, Execution_Start, Execution_End), _
DateDiff(DateInterval.Second, Execution_Start, Execution_End), _
DateDiff(DateInterval.Second, Execution_Start, Execution_End) * 60))
Ai đó có thể chỉ cho tôi một cách tốt hơn để làm điều này? Có thể với một TimeSpan
?
Giải pháp:
Dim Execution_Start As New Stopwatch
Execution_Start.Start()
Threading.Thread.Sleep(500)
MessageBox.Show("H:" & Execution_Start.Elapsed.Hours & vbNewLine & _
"M:" & Execution_Start.Elapsed.Minutes & vbNewLine & _
"S:" & Execution_Start.Elapsed.Seconds & vbNewLine & _
"MS:" & Execution_Start.Elapsed.Milliseconds & vbNewLine, _
"Code execution time", MessageBoxButtons.OK, MessageBoxIcon.Information)
DateTime.Now
do các vấn đề về Tiết kiệm ánh sáng ban ngày và múi giờ. Vui lòng đọc bài đăng trên blog của tôi về chủ đề này