這里記錄一個時間戳的互相轉換方法,網上都找了,基本都沒有精確到毫秒,我的這個基本可以滿足精確到毫秒的級別,代碼如下:
1 /// <summary> 2 /// Unix時間戳轉換為DateTime 3 /// </summary> 4 private DateTime ConvertToDateTime(string timestamp) 5 { 6 System.DateTime time = System.DateTime.MinValue; 7 //精確到毫秒 8 //時間戳轉成時間 9 DateTime start = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); 10 try 11 { 12 time = timestamp.Length == 10 ? start.AddSeconds(long.Parse(timestamp)) : start.AddMilliseconds(long.Parse(timestamp)); 13 } 14 catch (Exception ex) 15 { 16 return start;//轉換失敗 17 } 18 return time; 19 } 20 21 /// <summary> 22 /// DateTime轉換為Unix時間戳 23 /// </summary> 24 /// <param name="time"></param> 25 /// <returns></returns> 26 private string ConvertTimestamp(DateTime time) 27 { 28 double intResult = 0; 29 System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); 30 intResult = (time - startTime).TotalMilliseconds; 31 return Math.Round(intResult,0).ToString(); 32 }
特此標記,希望對有幫助的人少走彎路。ths :-);