c# datetime与 timeStamp(unix时间戳) 互相转换

        ///   
        /// Unix时间戳转为C#格式时间  
        ///   
        /// Unix时间戳格式,例如1482115779  
        /// C#格式时间  
        public static DateTime GetTime(string timeStamp)
        {
            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));
            long lTime = long.Parse(timeStamp + "0000000");
            TimeSpan toNow = new TimeSpan(lTime);
            return dtStart.Add(toNow);
        }


        ///   
        /// DateTime时间格式转换为Unix时间戳格式  
        ///   
        ///  DateTime时间格式  
        /// Unix时间戳格式  
        public static int ConvertDateTimeInt(System.DateTime time)
        {
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            return (int)(time - startTime).TotalSeconds;
        } 

 

为什么使用时间戳?

关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。

 


转载于:https://www.cnblogs.com/smartsmile/p/6234029.html

你可能感兴趣的:(c# datetime与 timeStamp(unix时间戳) 互相转换)