C#时间格式转换为时间戳(互转)

转载连接: http://blog.csdn.net/ZFSR05255134/article/details/53066873?locationNum=4&fps=1


  1. using System.Collections;  
  2. using System;  
  3.   
  4. ///   
  5. /// C#时间格式转换为时间戳(互转)  
  6. /// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。   
  7. ///   
  8. public class DateTime_TimeStamp : MonoBehaviour  
  9. {  
  10.     protected int m_timestamp;  
  11.   
  12.     ///   
  13.     /// 获取时间戳Timestamp    
  14.     ///   
  15.     ///   
  16.     ///   
  17.     private int GetTimeStamp(DateTime dt)  
  18.     {  
  19.         DateTime dateStart = new DateTime(1970, 1, 1, 8, 0, 0);  
  20.         int timeStamp = Convert.ToInt32((dt - dateStart).TotalSeconds);  
  21.         return timeStamp;  
  22.     }  
  23.   
  24.     ///   
  25.     /// 时间戳Timestamp转换成日期  
  26.     ///   
  27.     ///   
  28.     ///   
  29.     private DateTime GetDateTime(int timeStamp)  
  30.     {  
  31.         DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  
  32.         long lTime = ((long)timeStamp * 10000000);  
  33.         TimeSpan toNow = new TimeSpan(lTime);  
  34.         DateTime targetDt = dtStart.Add(toNow);  
  35.         return targetDt;  
  36.     }  
  37.   
  38.     ///   
  39.     /// 时间戳Timestamp转换成日期  
  40.     ///   
  41.     ///   
  42.     ///   
  43.     private DateTime GetDateTime(string timeStamp)  
  44.     {  
  45.         DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));  
  46.         long lTime = long.Parse(timeStamp + "0000000");  
  47.         TimeSpan toNow = new TimeSpan(lTime);  
  48.         DateTime targetDt = dtStart.Add(toNow);  
  49.         return dtStart.Add(toNow);  
  50.     }  
  51.   
  52.     void OnGUI()  
  53.     {  
  54.         if (GUILayout.Button("获取当前时间的时间戳"))  
  55.         {  
  56.             DateTime dtNow = DateTime.Now;  
  57.             m_timestamp = GetTimeStamp(dtNow);  
  58.             Debug.Log(string.Format("获取当前时间的时间戳 = {0} -> {1}", dtNow.ToString("yyyy-MM-dd hh:mm:ss"), m_timestamp));  
  59.         }  
  60.   
  61.         if (GUILayout.Button("将时间戳转换成日期_1"))  
  62.         {  
  63.             DateTime dt = GetDateTime(m_timestamp);  
  64.             Debug.Log(string.Format("将时间戳转换成日期_1 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));  
  65.         }  
  66.   
  67.         if (GUILayout.Button("将时间戳转换成日期_2"))  
  68.         {  
  69.             DateTime dt = GetDateTime(m_timestamp.ToString());  
  70.             Debug.Log(string.Format("将时间戳转换成日期_2 = {0} -> {1}", m_timestamp, dt.ToString("yyyy-MM-dd hh:mm:ss")));  
  71.         }  
  72.     }  
  73. }  

你可能感兴趣的:(c#)