【.NET】 C# 时间戳和DataTime 互相转换
1.C# DateTime转换为Unix时间戳
public static long GetTimeStampNow_FrameWork(DateTime dt) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(dt); // 当地时区 return (long)(DateTime.Now - startTime).TotalSeconds; // 相差秒数 } public static long GetTimeStampNow_NetCore(DateTime dt) { System.DateTime startTime = TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1), TimeZoneInfo.Local); // 当地时区 return (long)(DateTime.Now - startTime).TotalSeconds; // 相差秒数 }
2.Unix时间戳转换为C# DateTime
public static DateTime GetDateTime_FrameWork(long timestamp) { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区 return startTime.AddSeconds(timestamp); } public static DateTime GetDateTime_NetCore(long timestamp) { System.DateTime startTime = TimeZoneInfo.ConvertTime(new System.DateTime(1970, 1, 1), TimeZoneInfo.Local); // 当地时区 return startTime.AddSeconds(timestamp); }
海纳百川,集思广益,不积跬步,无以千里。