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

来源:互联网 发布:购买域名后怎么备案 编辑:程序博客网 时间:2024/05/19 21:40

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


  1. using System.Collections;  
  2. using System;  
  3.   
  4. /// <summary>  
  5. /// C#时间格式转换为时间戳(互转)  
  6. /// 时间戳定义为从格林威治时间 1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。   
  7. /// </summary>  
  8. public class DateTime_TimeStamp : MonoBehaviour  
  9. {  
  10.     protected int m_timestamp;  
  11.   
  12.     /// <summary>  
  13.     /// 获取时间戳Timestamp    
  14.     /// </summary>  
  15.     /// <param name="dt"></param>  
  16.     /// <returns></returns>  
  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.     /// <summary>  
  25.     /// 时间戳Timestamp转换成日期  
  26.     /// </summary>  
  27.     /// <param name="timeStamp"></param>  
  28.     /// <returns></returns>  
  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.     /// <summary>  
  39.     /// 时间戳Timestamp转换成日期  
  40.     /// </summary>  
  41.     /// <param name="timeStamp"></param>  
  42.     /// <returns></returns>  
  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. }  

原创粉丝点击