如何使用互联网(即 ntp)从 bash 中查找日期?

How to find the date using internet (ie ntp) from bash?

如何使用 bash 从互联网上学习日期和时间而不安装任何额外的东西。

我基本上是在寻找 bash $ 日期的等价物,但使用 NTP(或任何其他方式)从 Internet 获取正确的日期和时间。我找到的所有方法(例如ntpd)都是为了校正系统时间,这不是我的目的。

date 有很多格式选项,但我假设您只需要日期和时间:

ntpdate -q time.google.com | sed -n 's/ ntpdate.*//p'

(或任何其他时间服务器)

如果您安装并配置了 ntpd,那么您可以使用 NTP 查询命令 ntpq -crv,它将 return;

associd=0 status=04ff leap_none, sync_uhf_radio, 15 events, stale_leapsecond_values,
version="ntpd 4.2.6p5@1.2349-o Mon Feb  6 07:22:46 UTC 2017 (1)",
processor="x86_64", system="Linux/4.10.13-1.el6.elrepo.x86_64", leap=00,
stratum=1, precision=-23, rootdelay=0.000, rootdisp=1.000, refid=PPS,
reftime=dd2c9f10.f25911ee  Wed, Aug  2 2017 19:57:20.946,
clock=dd2c9f11.f4251b0a  Wed, Aug  2 2017 19:57:21.953, peer=6516, tc=4,
mintc=3, offset=-0.005, frequency=-17.045, sys_jitter=0.110,
clk_jitter=0.007, clk_wander=0.003, tai=37, leapsec=201701010000,
expire=201706010000

你想要从 clock 开始的行给出时间、日期等 - 你最好用 awk 或其他东西来解析它,如果你只想要日期戳而不是其他任何东西。

不需要 root 用户才能运行 命令。它不会设置任何内容,但会查询您的本地服务器(假设您的 运行ning ntp)并显示详细信息。