摘要:[C#] 程式執行時間計算與字串輸出格式
很常用但是通常都會忘記
DateTime st = DateTime.Now;
......
DateTime ed = DateTime.Now;
TimeSpan ts = ed.Subtract(st);
string output = String.Format("{0:00}:{1:00}:{2:00}", ts.TotalHours, ts.Minutes, ts.Seconds);
路人回應的方法很好用
稍微整理下用法大致如下
Stopwatch sw = new Stopwatch();
sw.Start();
//
sw.Stop();
TimeSpan ts = sw.Elapsed;
時間與字串之間的轉換
時間轉字串
string datestring = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss ffff")
string datestring = DateTime.Now.ToString("s", System.Globalization.DateTimeFormatInfo.InvariantInfo)
"s" 代表Sortable格式 "yyyy/MM/ddTHH:mm:ss"
字串轉時間
DateTime st = DateTime.Parse(datestring);
附帶一提Java關於時間格式會用到SimpleDateFormat來設定格式
大致上與C#相同,但是注意關於millisecond在Java是用大S來取代三個f
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS - ");
String datestring = sdf.format(new java.util.Date());
Java只能用大寫開頭的String,不像C#可以用大寫String(物件)與小寫string(型態)
如果要計算執行時間
就必須用getTime之後的時間值相減,單位是毫秒
java.util.Date st = new java.util.Date();
//
java.util.Date ed = new java.util.Date();
long timeSpanMillisecond = ed.getTime() - st.getTime();
double timeSpanSecond = timeSpanMillisecond/1000f;
String msg = String.format("TimeSpan : %7.2f sec", timeSpanSecond);