C# 時間戳


C# 時間與時間戳互轉 13位

/// <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#格式時間        
        /// </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);        
        } 

有時還需要10位的時間戳,用如下方式可以獲得

epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000

epoch 為long類型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM