C# 时间转换操作

 

 

        /// <summary>
        /// 转换成UNIX时间戳 到秒级
        /// </summary>
        /// <param name="time"></param>
        /// <returns></returns>
        private int ConvertTimeToInt(DateTime time)
        {
            return Convert.ToInt32((time.ToUniversalTime().Ticks - 621355968000000000) / 10000000);
        }

 

 

        /// <summary>
        /// UNIX时间戳(秒级)转换成本地时间
        /// </summary>
        /// <param name="d"></param>
        /// <returns></returns>
        private DateTime GetDateTime(long d)
        {
            System.DateTime time = System.DateTime.MinValue;
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            time = startTime.AddSeconds(d);
            return time;
        }

 

 

 

        /// <summary>
        /// 将时间戳转换成当前小时的时间戳
        /// </summary>
        /// <param name="thisTime"></param>
        /// <returns></returns>
        public static int GetThisTime(int thisTime)
        {
            var datatime = GetDateTime(thisTime);
            var newtime = new DateTime(datatime.Year, datatime.Month, datatime.Day, datatime.Hour, 0, 0);
            var nowTime = Convert.ToInt32((newtime.ToUniversalTime().Ticks - 621355968000000000) / 10000000);
            return nowTime;
        }

 

 

        /// <summary>
        /// 时间转成Unix时间戳(到毫秒级)
        /// </summary>
        /// <param name="dateTime"></param>
        /// <returns></returns>
        public static long UNIX_TIMESTAMP(DateTime dateTime)
        {
            return (dateTime.Ticks - DateTime.Parse("1970-01-01 00:00:00").Ticks) / 10000;
        }

public static DateTime TIMESTAMP(string UNIX_TIMESTAMP) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(UNIX_TIMESTAMP + "0000"); TimeSpan toNow = new TimeSpan(lTime); DateTime dtResult = dtStart.Add(toNow); return dtResult; }

 

posted on 2017-06-23 17:52  奔游浪子  阅读(315)  评论(0)    收藏  举报

导航