C# 时间戳

Posted 祝福中国,祝福中国人民

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类型

以上是关于C# 时间戳的主要内容,如果未能解决你的问题,请参考以下文章

C# 最有用的(自定义)代码片段是啥? [关闭]

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

是否可以动态编译和执行 C# 代码片段?

优化 C# 代码片段、ObservableCollection 和 AddRange

记录C#常用的代码片段

C# 获得目录创建时间的源码片段