linux-时间

时区

全球共分为 24 个时区, 东西各 12 个时区, 以英国为零时区, 并且规定英国(格林尼治天文台旧址)为本初子午线,即零度经线. 每个时区横跨经度 15 度,时间正好是 1 小时。0 时区与 12 时区的中央经线分别为 0 度经线与 180 度经线, 东、西区各跨两区一半(即经度 7.5 度).

每个时区的中央经线上的时间就是这个时区内统一采用的时间,称为区时,相邻两个时区的时间相差一小时. 由于实际上一个国家或一个省份常常同时跨着两个或更多时区,为了照顾到行政上的方便,常将一个国家或一个省份划在一起。如: 中国差不多跨五个时区,但为了使用方便简单,实际上全国将东八区区时作为标准时间 即: 北京时间.

时区计算

东区加, 西区减

例1: GMT 时间 8:00, 则北京(东八区)时间为 8:00 + 8 = 16:00
例2: 日本(东九区) 12:00, 则北京时间为 12:00 – (9 – 8) = 11:00

硬件时钟

实时时钟(RTC, Real Time Clock), 这是一个硬件, 或者说是一个集成电路. 可以由系统设置为 UTC 或 localtime.

系统时钟

启动时: 由硬件时钟计算得来
运行时: 通过时间同步联网校正时间
关机时: 根据系统时间设置硬件时间

时间标准

UTC 与 GMT

GMT(Greenwich Mean Time, 格林尼治时间), 以本初子午线的平子夜(零时)起算的平太阳时。又称格林尼治平时或格林尼治时间. GMT 被作为标准时间, 其他地方时间以其为基准通过时区计算.

地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。

在不精确到秒时, GMT 和 UTC(Coordinated Universal Time, 世界协调时)可视为相同. UTC 以原子钟测算, 精确, 用来代替 GMT.

localtime

当地时间 = UTC + 时区差

Windows 默认使用 localtime,Mac OS 默认使用 UTC, 而 UNIX 系列的操作系统两者都有。

    原文作者:yangpanda
    原文地址: https://segmentfault.com/a/1190000018463661
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞