主選單

2017-02-19

C#:常用日期與時間相關處理 (about DateTime)


日期格式轉換,將字串「20170219 013000」轉為 DateTime 格式。
DateTime tmpDate = DateTime.ParseExact("20170219 013000", "yyyyMMdd HHmmss", null);


計算兩個時間的差距,能夠計算相差幾秒、幾個小時或幾天等...,但需注意,要使用「Total」開頭的成員,因為 Seconds 取的是時間的秒數部分,TotalSeconds 才是取得總共有多少秒。
參考資料:https://msdn.microsoft.com/zh-tw/library/system.timespan(v=vs.110).aspx
DateTime StartTime = DateTime.Now.AddDays(-1);
TimeSpan ts = new TimeSpan(DateTime.Now.Ticks - StartTime.Ticks);
Console.Write("共 " + ts.TotalSeconds + " 秒");


測量經過多少時間(類似碼表),評估程式效能時可使用。
System.Diagnostics.Stopwatch myCount = new System.Diagnostics.Stopwatch();//引用stopwatch物件
myCount.Reset(); //時間歸零
myCount.Start(); //開始計時
...
myCount.Stop(); //停止計時
Console.Write("共經過了 " + myCount.Elapsed.TotalMilliseconds.ToString() + " 毫秒");


計算週別 (假設星期天為每週第一天)
參考資料:https://msdn.microsoft.com/zh-tw/library/system.globalization.calendar(v=vs.110).aspx
System.Globalization.Calendar cal = new System.Globalization.CultureInfo("zh-CN").Calendar;
String week = cal.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Sunday).ToString().PadLeft(2, '0');
Console.Write("今年的第 " + week + " 週");


沒有留言:

張貼留言