如何在 Linux 上设置当前时间?

79 linux date

为什么以下命令的输出不同?

root@vmi2115:/var# hwclock
Sun 26 Jun 2011 01:21:38 PM CEST  -0.273230 seconds
root@vmi2495:/var# date
Sun Jun 26 15:21:39 CEST 2011
root@vmi2115:/var# 
Run Code Online (Sandbox Code Playgroud)

我可以在 Linux 上更改当前时间吗?

Seb*_*olm 95

通常您会希望自动设置时间,在这种情况下,您会希望设置ntpd为自动设置时间。

不同发行版的具体细节略有不同,但例如,如果您运行的是 Ubuntu,则有关于在 Ubuntu设置 NTP的指南。否则,只需 Google ntpd <distribution-name>,您可能会找到它。

但是,如果您想手动设置它,则可以使用date --set="<date string>". 这方面的例子可能是:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
Run Code Online (Sandbox Code Playgroud)


小智 40

将硬件时钟设置为当前系统时间。

# hwclock --systohc
Run Code Online (Sandbox Code Playgroud)

从硬件时钟设置系统时间。

# hwclock --hctosys
Run Code Online (Sandbox Code Playgroud)


小智 26

只是ntpdate ntp.ubuntu.com,一切都会好起来的。

Ubuntu 官方文档中有更多关于此的信息。

  • 请进一步详细说明您的答案,并向 QA 和未来的读者提供解释,您提到的命令有什么作用,以及您为什么建议采取此类行动。注意:QA 询问如何更改时间,而不是如何保持同步。 (18认同)
  • 非常适合设置准确时间。 (2认同)

小智 13

Another common, very annoying problem is, when the wrong timezone is selected...

使用日期输出检查时区:

$日期

世界标准时间 2013 年 8 月 23 日 18:47:04

要更正时区类型:

$ 须藤 tzselect

并选择具有相应编号的正确区域。

第二个任务是设置正确的时间:

$ sudo 日期 --set="18:37:00"

或者干脆从 HW-Clock 花点时间:

$ sudo hwclock --hctosys


小智 5

“hwclock”是硬件(机器)的日期,“date”是软件(操作系统)的日期。

更改电脑硬件日期:

hwclock --set --date="2013-7-31 09:30"
Run Code Online (Sandbox Code Playgroud)

更改软件日期:

date --set "2013-7-31 09:30"
Run Code Online (Sandbox Code Playgroud)