当我们无法在 Mac 的系统设置页面修改时间时,怎么办?可以用命令行呀!

手动配置

当我们想修改 Mac 的时间时,我们通常会优先去系统设置页面进行相应的修改。但有些时候,我们是“无法”修改时间的,因为修改面板处于禁用状态,如下图所示。

在这种情况下,我们可执行 date 命令,完成系统时间的修改。

sudo date [MM][DD][hh][mm][YY]

具体的命令参数解释如下:

  • MM:月份,如 0001、……、12
  • DD:日期。
  • hh:小时,使用 24 小时制。
  • mm:分钟。
  • YY:年份,如 2022 年表示为 22

例如,我想配置时间为 2022 年 2 月 13 日 15 时 07 分,可执行以下命令。

sudo date 0213150722

自动配置

当我们想校准本地时间时,可执行以下命令,让机器与 time.apple.com 使用 SNTP 协议完成时间的同步。

sudo sntp -sS time.apple.com

SNTP(Simple Network Time Protocal)是一种用于跨广域网或局域网同步时间的协议,具有很高的精确度,是 NTP 协议的简化版。

NTP 同步原理

Wikipedia 上对 NTP 同步原理的解释,如下图所示。

其中的 θ 即为 Client 与 Server 的时间差,同步时间其实就是计算这个 θ 值。