2011-06-26 13:23:39 +0000 2011-06-26 13:23:39 +0000
71
71

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

为什么下面的命令输出不一样?

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#

&001

还有,在Linux上可以改变当前时间吗?

答案 (10)

92
92
92
2011-06-26 15:28:54 +0000

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

具体的细节因发行版而异,但如果你运行的是Ubuntu,比如说,如果你运行的是Ubuntu,有一个关于在Ubuntu上设置NTP的指南。否则,只要谷歌ntpd <distribution-name>,你可能就能找到它。例如:

date --set="23 June 1988 10:00:00"
date --set="10:00:00"
37
37
37
2011-06-26 14:13:09 +0000

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

23
23
23
2013-04-01 13:13:25 +0000

关于这个问题,更多信息请参见Ubuntu官方文档

13
13
13
2013-08-23 16:51:36 +0000

另一个常见的,非常烦人的问题是,当选择了错误的时区…..

用日期输出检查时区:

$ date

Fre Aug 23 18:47:04 UTC 2013

要修正时区类型:

$ sudo tzselect

并选择正确的区域,并选择相应的数字。第二个任务是设置正确的时间:

$ sudo date –set=“18:37:00”

或者简单地从HW-Clock中获取时间:

$ sudo hwclock –hctosys

3
3
3
2015-04-03 10:00:44 +0000

CentOS时区位于/usr/share/zoneinfo/中,要将系统日期改成特定的时区,可以:

首先,对现有的本地时间文件进行备份。

sudo mv /etc/localtime /etc/localtime.bak

接下来,创建链接:

sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime

,输入date检查新的系统日期。

要手动调整Linux系统的**日期,可以输入:

date -s "11 MAR 2006 11:11:11"
date --set="11 MAR 2015 11:11:11"

OR

date +%Y%m%d -s "20150311"

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

hwclock --systohc

OR

hwclock -w
``` &001
2
2
2
2015-06-17 09:24:07 +0000

试试这个:

date +%T -s "12:21:00"

date +%T%p -s "12:22:20AM"
date +%T%p -s "12:23:30PM"
1
1
1
2013-07-31 07:32:37 +0000

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

0
0
0
2011-11-26 11:33:01 +0000

date返回的时间为CPU启动时的时间加上内部硬件时钟给定的时间,hwclock给出了内部时钟的时间。同时也是使用网络协议时间的原因之一,它是用来协调国际上互联网上的时间。

0
0
0
2016-09-26 12:37:17 +0000

如果没有NTP客户端,请使用这个

date -s $(wget -q -O - http://www.timeapi.org/eest/now | cut -d '+' -f 1 | tr -d : | tr -d - | tr -d T | cut -c 1-12)

eest中的URL是你的本地时区

你可以使用utc…等

0
0
0
2019-02-20 14:18:53 +0000

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

对我来说,我需要先运行这个命令:

sudo systemctl stop systemd-timesyncd

否则systemd会立即重置时间。在停止systemd服务后,运行date可以正常工作:

$ sudo date -s 'january 1 1971'
Fri Jan 1 00:00:00 CET 1971
$ date
Fri Jan 1 00:00:00 CET 1971

&001

当服务运行时,date -s命令似乎还能正常工作,但运行date一会儿后,又会给我提供systemd时间。