欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 获取当前时间戳的两种不同计算方式

程序员文章站 2022-07-09 16:34:52
在使用.net开发,c#去获取当前时间戳时,我们可能会使用到不同的代码方式获取,但是获取的结果并不一定对,下面列举获取方式。...

在使用.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时间戳等。

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

来源:,分享请保留出处。

相关标签: C# 获取时间戳