时间戳

  有时候我们和web api交互时,会用到时间戳作为url请求的签名(在一点时间范围内有效。否则失效)。

相关的官方定义:(1970-1-1),现在计算机和一些电子设备时间的计算和显示是以距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量为标准的,有人就戏称英国的格林威治天文台是“时间开始的地方”。

下面是获取当前时间的时间戳的步骤:

1、获取时间:1970-01-01 00:00:00的时间Ticks

2、获取当前时间的Ticks

3、2者做差值计算

具体代码:

        /// <summary>
        /// 返回当前时间的时间戳
        /// </summary>
        /// <returns></returns>
        private long GetNowTicks()
        {
            //1970-01-01时间的Ticks
            DateTime startTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            long startTimeTicks = startTime.Ticks;

            //当前时间的Ticks
            DateTime endTime = DateTime.Now;
            long endTimeTicks = endTime.Ticks;

            //当前时间的时间戳
            long nowTicks = endTimeTicks - startTimeTicks;

            return nowTicks;
        }        

  扩展:根据时间戳得到时间:

        /// <summary>        
        /// 时间戳转为C#格式时间        
        /// </summary>        
        /// <param name=”timeStamp”></param>        
        /// <returns></returns>        
        private DateTime ConvertStringToDateTime(string timeStamp)
        {
            DateTime dtStart = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            long lTime = long.Parse(timeStamp);
            TimeSpan toNow = new TimeSpan(lTime);
            return dtStart.Add(toNow);
        }

  

原文地址:https://www.cnblogs.com/JK1989/p/9077489.html