标签:
编写网络程序中难免用到一些时间戳。
早前不知道哪里复制过一个代码,如下:
public static string GetTimeStamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        }
不过事后发现,生成出来的与实际情况不符,有些出入。
上面代码生成的时间戳只有10位。而要模拟的目标是13位的。
最后发现要用到在datetime的毫秒。如下代码可以自由的切换使用10位和13位。
/// <summary> 
        /// 获取当前时间戳  
        /// </summary>  
        /// <param name="bflag">为真时获取10位时间戳,为假时获取13位时间戳.</param>  
        /// <returns></returns>  
        public static string GetTimeStamp(bool bflag = true)
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            string ret = string.Empty;
            if (bflag)
                ret = Convert.ToInt64(ts.TotalSeconds).ToString();
            else
                ret = Convert.ToInt64(ts.TotalMilliseconds).ToString();
            return ret;
        }
标签:
原文地址:http://www.cnblogs.com/renzhituteng/p/4256066.html