14.1. localtime 的概念

时间测量主要基于有规律的自然现象,例如行星自转引起的昼夜交替。两个连续周期所用的总时间是恒定的,但白天和黑夜的长度是变化的。一个简单的常量是正午。

正午是太阳在一天中位置最高的时刻。由于(根据最近的研究)地球是圆的,正午在不同的地方发生在不同的时间。 这就引出了本地时间的概念。 人类用许多单位来测量时间,其中大多数与正午等自然现象有关。 只要您待在同一个地方,本地时间不同也没关系。

一旦您需要与遥远的地方通信,您就会注意到需要一个共同的时间。 在现代社会,世界上大多数地方都与世界上大多数其他地方通信,因此定义了一个全球时间测量标准。 这个时间被称为世界协调时间(UT 或 UTC,以前称为格林威治标准时间或 GMT,因为它曾经是英国格林威治的本地时间)。 当具有不同本地时间的人们需要通信时,他们可以用世界协调时间来表达时间,这样就不会对事情应该何时发生产生混淆。

每个本地时间都称为时区。 虽然地理位置允许正午时间相同的所有地方使用相同的时区,但政治因素使其变得困难。 由于各种原因,许多国家/地区使用夏令时,也就是说,他们拨快时钟以便在工作时有更多的自然光,然后在冬季将时钟拨回。 其他国家/地区不这样做。 那些这样做的国家/地区,对于何时应该拨动时钟意见不一致,并且他们每年都在更改规则。 这使得时区转换绝对不是一件容易的事。

时区最好以地点命名,或通过告知本地时间与世界协调时间之间的差异来命名。 在美国和一些其他国家/地区,本地时区有一个名称和一个三个字母的缩写。 但是,缩写不是唯一的,除非也指明国家/地区,否则不应使用。 最好谈论例如赫尔辛基的本地时间,而不是东欧时间,因为并非所有东欧国家/地区都遵循相同的规则。

Linux 有一个时区软件包,它了解所有现有的时区,并且可以在规则更改时轻松更新。 系统管理员需要做的就是选择合适的时区。 此外,每个用户都可以设置自己的时区; 这很重要,因为许多人通过 Internet 与不同国家/地区的计算机一起工作。 当您本地时区的夏令时规则发生变化时,请确保您至少升级 Linux 系统的该部分。 除了设置系统时区和升级时区数据文件外,几乎无需担心时间。