如何用C#获取从1970-1-1到目前为止的毫秒数

用过JAVA的想必都知道一个函数

System.currentTimeMillis()

用于获取从1970-1-1到目前为止的毫秒数。

当时刚接触的时候,我就很纳闷,这是为什么?为什么偏偏要设计一个1970-1-1作为起始时间点,计算经过时间的函数?

经过一番了解,知道了Unix time

同时HERE解释了为什么1970-1-1可以作为一个epoch time,即起始时间

好了

废话说了很多,切入主题吧!

代码如下:

        public DateTime FromUnixTime(long unixTime)
        {
            var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            return epoch.AddMilliseconds(unixTime);
        }

        public long ToUnixTime(DateTime date)
        {
            var epoch = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
            return Convert.ToInt64((date.ToUniversalTime() - epoch).TotalMilliseconds);
        }

具体两个函数分别是什么,怎么用?大家肯定心知肚明了。

你可能感兴趣的:(C#)