dislick Asked: 2018-02-06 06:19:03 +0800 CST2018-02-06 06:19:03 +0800 CST 2018-02-06 06:19:03 +0800 CST 即使没有可用的 NTP 服务器,Debian 是否会自动更新夏令时? 772 我想了解更多关于 DST 在 Debian(可能还有基于 Debian 的发行版)中的工作原理。 想象一下:一台运行最新版本 debian 的计算机正在使用 timezone Europe/Zurich。夏令时将开始2018-03-25 02:00,这意味着它将从UTC+1变为UTC+2。如果计算机没有网络连接(基本上没有 NTP 服务器),那一天会发生什么?它还会将 UTC 偏移量更改为 +2 还是完全依赖于 NTP?为什么? timezone dst 3 个回答 Voted Best Answer Toby Speight 2018-02-06T06:41:37+08:002018-02-06T06:41:37+08:00 内核的时间概念不跟踪夏令时;通常我们让内核以 UTC 记录时间。这具有明确和简单的优点。 面向用户的程序有一个时区,通常在TZ环境变量中传递,以便它们具有一致的视图。这用于将内部表示转换为用户满意的形式或从用户满意的形式转换。 如果你这样做,你可以看到这一点 TZ=Europe/Zurich ls -logd TZ=Australia/Perth ls -logd 相同的时间戳以两种不同的方式呈现。 夏令时调整保存在您系统上安装的时区数据库中。只要这是正确的,夏季时间与 UTC 时间的转换与冬季时间(在有 DST 的地区)不同。时区数据库了解过去的所有规则,并且对未来有很好的了解,除非政客开始干预。 如果规则发生变化并且您必须安装更新的时区数据库,您只需要外部连接。 Stephen Kitt 2018-02-06T06:24:41+08:002018-02-06T06:24:41+08:00 系统参考包中存储的数据,根据配置的时区改变时间偏移量tzdata。它不需要外部时间源。 外部时间源提供独立于配置的时区的参考时间,以及是否启用夏令时(否则您将只能使用配置为使用与要更新的系统相同的时区的 NTP 服务器) . dr_ 2018-02-06T06:25:41+08:002018-02-06T06:25:41+08:00 时区和 DST 由操作系统处理。NTP 服务仅提供时间同步,并且与机器所在的时区无关。 因此,即使没有网络连接,您的机器也会在正确的时刻正确打开或关闭 DST(假设时间正确)。
内核的时间概念不跟踪夏令时;通常我们让内核以 UTC 记录时间。这具有明确和简单的优点。
面向用户的程序有一个时区,通常在
TZ
环境变量中传递,以便它们具有一致的视图。这用于将内部表示转换为用户满意的形式或从用户满意的形式转换。如果你这样做,你可以看到这一点
相同的时间戳以两种不同的方式呈现。
夏令时调整保存在您系统上安装的时区数据库中。只要这是正确的,夏季时间与 UTC 时间的转换与冬季时间(在有 DST 的地区)不同。时区数据库了解过去的所有规则,并且对未来有很好的了解,除非政客开始干预。
如果规则发生变化并且您必须安装更新的时区数据库,您只需要外部连接。
系统参考包中存储的数据,根据配置的时区改变时间偏移量
tzdata
。它不需要外部时间源。外部时间源提供独立于配置的时区的参考时间,以及是否启用夏令时(否则您将只能使用配置为使用与要更新的系统相同的时区的 NTP 服务器) .
时区和 DST 由操作系统处理。NTP 服务仅提供时间同步,并且与机器所在的时区无关。
因此,即使没有网络连接,您的机器也会在正确的时刻正确打开或关闭 DST(假设时间正确)。