Unix TimeStamp 代表從 1970年1月1日0時0分0秒 為基準點(0) 開始以秒為單位的時間計量單位
總之就是秒… 一個小時有 3600秒 一天有86400秒
從基準時間點之後的就是以秒累進, 所以要用甚麼樣的數值型態來儲存與運算Unix TimeStamp沒有一定準則.
16位元整數 或是 32 位元整數 抑或是XX位元長整數, 在地球沒有毀滅的時候這個數值是會無限延展的,
不過也不需要考慮到全方位的週全, 畢竟. 開發一套系統能夠用多少年, 我想這也不是可以直下評斷的,
簡單舉例 Unix TimeStamp 跟 一般使用的時間格式互相轉換
第一個傳入TimeStamp, 也就是秒數, 把他從 1970年1月1日0時0分0秒 用加秒數的方式加上去
就可以轉換這個TimeStamp成為一般時間格式
1: DateTime ConvertFromUnixTimestamp(double timestamp)
2: {3: DateTime st = new DateTime(1970, 1, 1, 0, 0, 0, 0);
4: return st.AddSeconds(timestamp);
5: }第二個傳入日期 , 跟基準點1970年1月1日0時0分0秒相減, 再轉成秒數, 回傳就是傳入日期的Unix TimeStamp
1: double ConvertToUnixTimestamp(DateTime date)
2: {3: DateTime st = new DateTime(1970, 1, 1, 0, 0, 0, 0);
4: TimeSpan diff = date - st;5: return Math.Floor(diff.TotalSeconds);
6: }文章標籤
全站熱搜
