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

本文解析了System.currentTimeMillis()背后的选择,介绍了Unixtime的概念,并详细讲解了为何1970-1-1成为全球统一的时间基准。通过DateTime类实例演示如何将Unix时间转换为Java日期并反之。
摘要由CSDN通过智能技术生成

用过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);
        }
        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值