当前位置: 移动技术网 > IT编程>开发语言>c# > C# 获取当前时间戳不同方式

C# 获取当前时间戳不同方式

2020年07月08日  | 移动技术网IT编程  | 我要评论

在使用.net开发,c#去获取当前时间戳时,我们可能会使用到不同的代码方式获取,但是获取的结果并不一定对,下面列举获取方式。

第一种代码

        /// <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();
        }        

now():读取的时间是系统的本地时间,也就是说,如果系统时区默认没有设置,那么读取的就是世界标准。但是一般我们中国是北京时间,在时间系统里面设置的是北京时间,所以不是世界标准时间

第二种代码

        /// <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();
        } 

utcnow():读取的时间一直都是系统的“世界标准时间”,不管系统的本地时区是否设置,读取的时间不会随这些设置变化;

综合以上两种,一般我们编写代码的时间戳都是使用世界时间utc,这也是使用的工具或插件等使用的方式,比如unix时间戳等。

时间戳使用来比对用,比如调用接口时发送,比对是不是过期和有效的访问,有个误差控制。

来源:移动技术网,分享请保留出处。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网