c#获取当前时间戳(正确版)

2020-05-05 22:29:43 浏览数 (1)

网上给出的方法一般是这样:

代码语言:javascript复制
/// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public string GetTimeStamp()
        {
            TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalSeconds).ToString();
        }

或者

代码语言:javascript复制
/// <summary>
        /// 获取时间戳
        /// </summary>
        /// <returns></returns>
        public static string GetTimeStamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalMilliseconds).ToString();
        }

实际上获得的时间是有偏差的,后来我在StackOverflow上查到一个方法:

代码语言:javascript复制
new DateTimeOffset(DateTime.UtcNow).ToUnixTimeSeconds();

这样获取的时间才是正确的,还是StackOverflow强大!

0 人点赞