linux设置date变量,Date命令详解——如何设置linux系统时间

Date命令详解——如何设置linux系统时间

date 可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,其中可用的标记列表如下 :

时间方面:

% : 印出 %

%n :下一行

%t : 跳格

%H:小时(0..23)

%I : 小时(01..12)

%k : 小时(0..23)

%M :分钟(0..59)

%p : 显示本地时段“上午”或“下午”

%r : 直接显示时间(12 小时制,格式为hh:mm:ss [AP]M)

%s : 从 1970 年 1 月 1 日 00:00:00UTC 到目前为止的秒数

%S :秒(00.59)

%T :直接显示时间(24小时制)

%X : 相当于 %H:%M:%S(12小时制,时分秒)

%Z :显示时区(如EST)

例如

date +%H:%M:%S

15:16:52

date +%X

03:18:57 PM (下午3点18秒)

date +%T

15:23:48

日期方面:

%a : 星期几 (Mon..Sun)

%A :星期几(Monday..Sunday)

%b : 月份 (Jan..Dec)

%B :月份(January..December)

%c : 直接显示日期与时间

%d : 日 (01..31)

%D :直接显示日期(mm/dd/yy)

%h : 同 %b

%j : 一年中的第几天 (001..366)

%m :月份(01..12)

%U : 一年中的第几周 (00..53)(以 Sunday 为一周的第一天的情形)

%w : 一周中的第几天 (0..6)

%W : 一年中的第几周 (00..53)(以 Monday 为一周的第一天的情形)

%x :直接显示日期(mm/dd/yy)

%y : 年份的最后两位数字 (00.99)

%Y :完整年份(0000..9999)

例如

date +%Y-%m-%d

2014-01-05

date +%x

01/05/2014

date +"%Y-%m-%d %H:%M:%S"

2014-01-05 15:21:00

例子 :

显示时间后跳行,再显示目前日期:

date +%T%n%D

15:22:23

01/05/14

显示月份与日数:

date +%B%d

January05

注意 :

当你不希望出现无意义的 0 时(比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04 会变为 8:9:4。另外,只有取得权限者(比如说root)才能设定系统时间。当你以 root 身份更改了系统时间之后,请记得以clock -w来将系统时间写入CMOS中,这样下次重新开机时系统时间才会持续保持最新的正确值。

Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前LinuxKernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,系统时钟会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。

Linux中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock。

硬件时间和系统时间的同步

按照前面的说法,重新启动系统,系统时间会读取硬件时间,实现同步,但是在不重新启动的时候,需要用hwclock命令实现同步。

硬件时钟与系统时钟同步:

# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

系统时钟和硬件时钟同步:(让系统的时间同步到硬件时钟)

# hwclock --systohc

设置系统时间

date --set 14:37:50

clock –w

将日期时间设置成1996年6月10日下午1点12分0秒可以用

#date -s "06/10/1996 13:12:00"  (格式是"MM/DD/YYYYhh:mm:ss")

或者

#date 061013121996.00  (格式是MMDDhhmmYYYY.ss (月日时分年.秒))

在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。

#hwclock -w

这个命令强制把系统时间写入CMOS,(等同于hwclock--systohc)

1.在虚拟终端中使用date命令来查看和设置系统时间

查看系统时钟的操作:

#date

设置系统时钟的操作:

#date 091713272003.30

通用的设置格式:

#date 月日时分年.秒

2.使用hwclock或clock命令查看和设置硬件时钟

查看硬件时钟

#hwclock --show

#clock --show

2003年09月17日星期三 13时24分11秒 -0.482735seconds

设置硬件时钟的操作:

# hwclock --set --date="09/17/200313:26:00"

或者

# clock --set --date="09/17/200313:26:00"

通用的设置格式:hwclock/clock --set --date=“月/日/年时:分:秒”。

显示/查看时区

[root@nginx01 ~]# timedatectl

Local time: 四 2019-03-21 17:57:03 CST

Universal time: 四 2019-03-21 09:57:03 UTC

RTC time: 四 2019-03-21 09:57:03

Time zone: Asia/Shanghai (CST, +0800)

NTP enabled: no

NTP synchronized: no

RTC in local TZ: no

DST active: n/a

[root@nginx01 ~]#date -R

Thu, 21 Mar 2019 18:02:30 +0800

配置时区为东8区 CST(东8区)

timedatectl  set-timezone Asia/Shanghai

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值