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();
        }
第二种

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

.Net中没有封装获取时间戳(UnixTime,相对于1970年1月1日凌晨的毫秒数)的方法。因此本人写了如下方法实现。

提醒在摸索中的朋友,注意方法中的四舍五入。关于讨论四舍五入的方法

DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0));

DateTime nowTime = DateTime.Now;

long unixTime = (long)Math.Round((nowTime - startTime).TotalMilliseconds, MidpointRounding.AwayFromZero);

https://www.cnblogs.com/iack/p/3551709.html

C#中系统时间和UNIX时间戳互相转换

https://www.cnblogs.com/yuwentao/p/7232838.html