c#中日期與時間戳互轉
阿新 • • 發佈:2020-12-21
c#中日期與時間戳互轉
日期轉時間戳
-
將c# DateTime時間格式轉換為Unix時間戳格式
public static long ConvertDateTimeToInt(System.DateTime time) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0)); long t = (time.Ticks - startTime.Ticks) / 10000; //除10000調整為13位 return t; }
-
獲取時間戳
public string GetTimeStamp(System.DateTime time) { long ts = ConvertDateTimeToInt(time); return ts.ToString(); }
-
呼叫 GetTimeStamp
var ts = new TimeStampOpr().GetTimeStamp(DateTime.Now);
GetTimeStamp所屬類為TimeStampOpr;輸出結果如下:
時間戳轉日期
-
時間戳轉為C#格式時間
public DateTime ConvertStringToDateTime(string timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); }
呼叫如下:
var dt = new TimeStampOpr().ConvertStringToDateTime("1608190888543");
Console.WriteLine(dt);
輸出如下: