DateTime时间格式转换为Unix时间戳格式

 因为TimeZone在netcore中使用会提示过期,建议使用TimeZoneInfo,遂记录一下TimeZoneInfo用法。
   
 1      /// <summary>  
 2         /// 将c# DateTime时间格式转换为Unix时间戳格式  
 3         /// </summary>  
 4         /// <param name="time">时间</param>  
 5         /// <returns>long</returns>  
 6         public static long ConvertDateTimeToLong(DateTime time)
 7         {
 8             DateTime startTime = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0, 0), TimeZoneInfo.Local);
 9             long t = (time.Ticks - startTime.Ticks) / 10000;   //除10000调整为13位      
10             return t;
11         }
12 
13         /// <summary>        
14         /// 时间戳转为C#格式时间        
15         /// </summary>        
16         /// <param name=”timeStamp”></param>        
17         /// <returns></returns>        
18         public static DateTime ConvertLongToDateTime(long timeStamp)
19         {
20             DateTime dtStart = TimeZoneInfo.ConvertTime(new DateTime(1970, 1, 1, 0, 0, 0, 0), TimeZoneInfo.Local);
21             long lTime = timeStamp * 10000;
22             TimeSpan toNow = new TimeSpan(lTime);
23             return dtStart.Add(toNow);
24         }

 

posted @ 2020-06-18 11:28  C_cli  阅读(174)  评论(0)    收藏  举报