美文网首页
时间的本质

时间的本质

作者: 7d972d5e05e8 | 来源:发表于2019-10-09 09:40 被阅读0次

原文地址:https://blog.csdn.net/halfclear/article/details/77573956

时间的本质

链接:https://www.zhihu.com/question/27052407/answer/56923233

UTC是我们现在用的时间标准,GMT是老的时间计量标准。UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间就是中午12点,。由于现在世界上最精确的原子钟50亿年才会误差1秒(最精确原子钟问世:50亿年误差一秒),可以说非常精确。而GMT因为是根据地球的转动来计算时间的,而地球的自转正在缓速变慢,所以使用GMT的话,总有一天,打个比方,中午12点,并不是一天太阳当头照的时候,很可能就是早上或者晚上了。所以说UTC更加精确。

个人理解 UTC 是标准时间参照,GMT(格林威治时间)、CST(北京时间)、PST(太平洋时间)等等是具体的时区。由于 UTC +0 的特殊性,所以有时也把 GMT 当成参照,以下写法等同:
GMT: UTC + 0 或者 GMT + 0
CST: UTC + 8 或者 GMT + 8
PST: UTC - 8 或者 GMT - 8

格林威治时间:1970年1月1日0点0分0秒,作为所有时间计算流逝量的起点。

我们说看到的时间:和时区紧密关联,对于全世界,当前相对格林威治时间流逝的时间都是一样的,但是由于时区不同,大家才看到不同的时间。

为了在计算机中传输,如果只传一个时间 2019-09-19 18:00:00给对方,对方不能精确它那边的时间是多少。所以,必须把时间和时区一起传给对方。但是如果传时间戳的话,大家都是用统一的标准,时间戳的起点是GMT 1970年1月1日0点0分0秒。那么大家拿到时间戳的话,可以任意在自己的时区转换为表示时间。

可以说,人们看到的时间,其实是依赖时间戳生成的,而时间戳由(原子钟的次数 - 标准的时间起点)。原子钟的产出就是一个精确的时间戳。

public static void main(String[] args){
        Long time = 1568857222306L;
        Date date = new Date(time);

        // 设置北京时区
        SimpleDateFormat bjSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        bjSdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));

        // 设置东京时区
        SimpleDateFormat tokyoSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        tokyoSdf.setTimeZone(TimeZone.getTimeZone("Asia/Tokyo"));

        // 设置伦敦时区
        SimpleDateFormat londonSdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        londonSdf.setTimeZone(TimeZone.getTimeZone("Europe/London"));


        System.out.println("毫秒数:" + date.getTime() + ", 北京时间:" + bjSdf.format(date));
        System.out.println("毫秒数:" + date.getTime() + ", 东京时间:" + tokyoSdf.format(date));
        System.out.println("毫秒数:" + date.getTime() + ", 伦敦时间:" + londonSdf.format(date));
    }

所以,时间戳是没有时区概念的,所有的时间戳都是距离1970-01-01 00:00:00这个标准时间点,所流逝的秒数或者毫秒数
比如现在时间北京时间2020-05-19 12:00:00得到的时间戳1589860800000。我把它立即传给美国那边,用new Date(1589860800000),生成时间字符串,生成的时间是:2020-5-19 00:00:00。相同时间戳,在不同时区,展示的时间不一样。这是因为时间戳的生成,在全球范围内都是基于CMT标准时间1970-01-01 00:00:00这个时间点计算得出的。既然大家都在地球上,那么我们流逝的时间肯定都是一样的,不管你在中国还是美国。但是基于这个唯一的时间戳,展示的时间字符串确和时区相关,不同时区展示的时间不一样。

相关文章

  • 时间的本质

    似乎从来没有像“时间”这样的东西,我们如此频繁地使用,却又如此地不了解。关于时间是什么的问题,我想了很久,看了数不...

  • 时间的本质

    原文地址:https://blog.csdn.net/halfclear/article/details/7757...

  • 时间的本质

    你扔掉手表,你尝试理解,这看似能抓住的时间,只不过是指针的运动…… -Grateful Dead《Walk in ...

  • 时间的本质

    时间是人根据物质运动来划分的,不是本来就有的,宇宙中的“时”本来是没有间的。 时间是一个较为抽象的概念,是物质的运...

  • 时间的本质

    现在是北京时间2020年4月21日22:04,我在富力小屋桌前写作。写作预计需要一个小时。 这是我们常规对时间的理...

  • 时间的本质

    如果空间的本质是时间,那么时间的本质是什么呢?时间是变化还是不变?永恒不变的不是时间,时间是流逝的,所以时间是变化...

  • 时间的本质说明!

    导读:在如此众多的“时间不存在”的文章影响下,我觉得我有必要和责任写这样的一篇文章,来介绍什么是时间,让大家对时间...

  • 整理时间的本质

    《时间是整理出来的》这书的标题很有吸引力,容易引人发想:整理时间?时间怎么整理。我也抱着这样的好奇心看了这书。 几...

  • 时间管理的本质

    很多时候,我们忙得焦头烂额,然而静下心来回顾自己一天工作情况的时候却又感觉自己没有做什么事,时间却悄无声息的溜走了...

  • 时间管理的本质

    在我们去讲解知识之前,我要先问你:当我们在谈论时间管理的时候,我们其实在谈论什么? 这…… 换句话讲,你怎么理解时...

网友评论

      本文标题:时间的本质

      本文链接:https://www.haomeiwen.com/subject/krnluctx.html