Command-Line

如何從 Internet 設置時間和日期?

  • January 28, 2022

如何從 Internet 檢索日期並從命令行設置電腦的時鐘?

您可以使用 :

sudo dpkg-reconfigure tzdata

用於配置您的時區。

要從 Internet 更新時間和日期,請使用以下命令:

安裝

如果未安裝 ntpd,請使用以下任一命令安裝 ntpd:

  • 對於基於 RPM:
yum install ntp 
  • 對於基於 Debian:
sudo apt-get install ntp

配置

您至少應該在 /etc/ntp.conf 配置文件中設置以下參數: server

例如,使用 vi 文本編輯器打開 /etc/ntp.conf 文件:

 # vi /etc/ntp.conf

找到伺服器參數並設置如下:

 server pool.ntp.org

保存文件並重新啟動 ntpd 服務:

 # /etc/init.d/ntpd start

您可以使用以下命令立即將系統時鐘同步到 NTP 伺服器:

 # ntpdate pool.ntp.org

*要手動設置時間和日期,請使用以下語法:

date --set="STRING"

例如,將新數據設置為 2006 年 10 月 2 日 18:00:00,以 root 使用者身份輸入以下命令:

# date -s "2 OCT 2006 18:00:00"

或者

# date --set="2 OCT 2006 18:00:00"

您還可以使用以下語法簡化格式:

# date +%Y%m%d -s "20081128"

要設置時間,請使用以下語法:

# date +%T -s "10:13:13"

在哪裡,

10:時 (hh) 13:分 (mm) 13:秒 (ss)

使用相當於 AM 或 PM 的 %p 區域設置,輸入:

# date +%T%p -s "6:10:30AM"

# date +%T%p -s "12:10:30PM"

我發現了一個小程式碼來更新你的時間,以防你不想安裝任何東西來更新日期。:)

sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f2-7)"

此命令假定對wget請求的響應中的“日期”標頭具有格式Date: Wed, 05 Jan 2022 10:53:35 GMT。標題的格式在過去發生了變化。您可以通過執行在實際設置時間之前檢查是否date正確理解字元串

$ date -d "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f2-7)"
Mon Jan 10 11:40:46 AM CET 2022

wget命令可以替換為curl -Is --max-redirs 0 google.com

請注意,--method=HEAD使用它是因為似乎GET響應可能會被記憶體(帶有舊Date標頭),而HEAD響應是新鮮的。

引用自:https://unix.stackexchange.com/questions/79112