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: }
文章標籤
全站熱搜
創作者介紹
創作者 baechang 的頭像
baechang

翁百璋與大泡泡的奇幻旅程

baechang 發表在 痞客邦 留言(0) 人氣(1,295)