Unix时间戳

Unix Timestamp:
Unix的timestamp是一组数字,表示从格林威治标准时间1970年1月1日以来的秒数。
解答1:
1、将系统时间转换成UNIX时间戳


            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
            DateTime dtNow = DateTime.Parse(DateTime.Now.ToString());
            TimeSpan toNow = dtNow.Subtract(dtStart);
            string timeStamp = toNow.Ticks.ToString();
            timeStamp = timeStamp.Substring(0,timeStamp.Length - 7);

   
2、将UNIX时间戳转换成系统时
            string timeStamp = "1176686120";
            DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1));
            long lTime = long.Parse(timeStamp + "0000000");
            TimeSpan toNow = new TimeSpan(lTime);
            DateTime dtResult = dtStart.Add(toNow);

解答2:

        public DateTime UnixTimeStamp2DateTime(long d)
        {
            DateTime time = DateTime.MinValue;
            DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            time = startTime.AddSeconds((double)d);
            return time;
        }

        /// 将c# DateTime时间格式转换为Unix时间戳格式
        public long DateTime2UnixTimeStamp(DateTime time)
        {
            long Result = 0;
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            Result = (long)(time - startTime).TotalSeconds;
            return Result;
        }

posted @ 2009-09-15 14:55  疯狂老鼠  阅读(343)  评论(0)    收藏  举报