C# 時間與時間戳互轉

 /// <summary>  
        /// 將c# DateTime時間格式轉換爲Unix時間戳格式  
        /// </summary>  
        /// <param name="time">時間</param>  
        /// <returns>long</returns>  
        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;  
        }  
        /// <summary>        
        /// 時間戳轉爲C#格式時間    timeStamp=146471041000    
        /// </summary>        
        /// <param name=」timeStamp」></param>        
        /// <returns></returns>        
        private 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);        
        } 

  注:這個日期(1970-1-1),如今計算機和一些電子設備時間的計算和顯示是以距曆元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利曆)的偏移量爲標準的,有人就戲稱英國的格林威治天文臺是「時間開始的地方」。c#

相關文章
相關標籤/搜索