linux命令之date

例题:使用date命令输出“xxxx-xx-xx”格式的日期,如2015-03-01。

#date +%Y-%m-%d 
2015-03-0

#date +%F
2015-02-28

1.date命令可以实现多种格式输出,这取决于表示符号(如%Y)之间的连接符号:

# date +%Y/%m/%d
2015/02/28

# date +%H:%M
00:54

2.date命令主要选项:

-d:在使用man date查看-d选项描述较为模糊,(-d, --date=STRING    display time     described by STRING, not ‘now’),实际使用-d表示过去、未来的时间:

# date -d next-day +%Y-%m-%d #明天日期
2015-03-01      
# date -d last-day +%Y-%m-%d #昨天日期
2015-02-27

更为简单的方法是在-d 后接+nday或-nday,n为数字,如3天后为+3day;同样小时使用+nhour、-nhour,分钟使用+nmin、-nmin。

# date -d +3day
Sat Mar  7 16:10:37 CST 2015

3.date命令时间字符表示说明:

时间方面 :

% : 印出

%n : 下一行

%t : 跳格

%H : 小时 01

%I : 小时 01

%k : 小时 1

%l : 小时 1

%M : 分钟 17

%p : 显示本地 AM PM(上午、下午)

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

%s : 1970 1 1 00:00:00UTC 到目前为止的秒数

%S :

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

%X : 时间显示 01时19分09秒

%Z : 显示时区 CST


日期方面 :

%a : 星期几 (Sun,Sat)

%A : 星期几(Sunday,Saturday)

%b : 月份 (Jan,Dec)

%B : 月份(January,December)

%c : 直接显示日期和时间(Sat Feb 28 01:22:34 2015)

%d : (31)

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

%h : %b

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

%m : 月份,以数字 (01,12)

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

%w : 星期,以数字表示 (6)

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

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

%y : 年份的最后两位数字 (00,99)

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


4.修改时间

若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][ss]

其中 MM 为月份,

DD 为日,

hh 为小时,

mm 为分钟,

CC 为年份前两位数字,

YY 为年份后两位数字,

ss 为秒数

# date 03041605
Wed Mar  4 16:05:00 CST 2015


使用date �Cs:按字符串方式修改时间
可以只修改日期,不修改时间: 

date -s 2015-03-04
Wed Mar  4 00:00:00 CST 2015

只修改时间:

# date -s 16:20:00
Wed Mar  4 16:20:00 CST 2015

同时修改日期时间,注意要加双引号,日期与时间之间有一空格,输入:

# date -s "2015-03-04 16:22:00"
Wed Mar  4 16:22:00 CST 2015

其它说明:

  当你不希望出现无意义的 0 (比如说 2005/03/01),则能在标记中插入 - 符号,比如说 date +%-H:%-M:%-S 会把时分秒中无意义的 0 给去掉,像是原本的 01:09:04 会变为 1:9:4

  另外,只有取得权限者(比如说 root)才能设定系统时间。当你以 root 身分更改了系统时间之后,请记得以 clock -w 来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。 



你可能感兴趣的:(Date,linux)