在C#中進行時間和時間戳的轉換

一、時間轉換爲 毫秒時間戳

由於 UTC 和 中國時區有時間差,

所以我們在時間轉換爲時間戳的時候,

我們需要多減去8個小時的時區差。

 // 時間轉換爲 毫秒時間戳
 public static double TransitionTimeStamp(DateTime dateTime)
 {
     // 這裏增加8小時是因爲 UTC(協調世界時) 的時間差
     TimeSpan timeSub = dateTime - DateTime.UnixEpoch.AddHours(8);
     // 秒轉換爲毫秒
     return timeSub.TotalSeconds * 1000;
 }

二、毫秒時間戳 轉換爲時間

與一同理,我們在時間戳轉換爲時間的時候,

我們需要多加上8個小時的時區差。

 // 毫秒時間戳 轉換爲時間
 public static DateTime TransitionDateTime(double Timestamp)
 {
     TimeSpan timeSub = TimeSpan.FromMilliseconds(Timestamp);
     // DateTime.UnixEpoch對應的時間的時間戳爲0
     return DateTime.UnixEpoch.Add(timeSub).AddHours(8);
 }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章