Linux date 显示设置时间命令学习

01-07

概要:

date命令的功能是显示和设置系统日期和时间

命令格式:

date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

参数:

-d STRING:显示由 STRING 描述的日期
-s STRING: 设置由 STRING 描述的日期

%Y 年(例如:1970,2009等)
%y 年的最后两个数字(1988则是88)
%m 月(01..12)
%d 一个月的第几天(01..31)
%H 小时(00..23)
%I 小时(01..12)
%k 小时(0..23)
%l 小时(1..12)
%p 显示出AM或PM
%M 分(00..59)
%S 秒(00..59)

%r 时间(hh:mm:ss AM或PM),12小时
%T 时间(24小时制)(hh:mm:ss)
%X 显示时间的格式(%H:%M:%S)
%x 显示日期的格式(mm/dd/yy)
%D 日期(mm/dd/yy)
%s 从1970年1月1日00:00:00到目前经历的秒数

常用的就这些,剩下的直接查man就好了...

例子:

1、今天中午有个时间很特别,2009-08 07 12:34:56,用下面这个格式就可以显示出12/34/56/7/8/9这种格式。其中"-"可以忽略首位的"0"。

date +'%I/%M/%S/%-d/%-m/%-y'
2、设置年月日为20090807,时间为00:00

date -s 20090807
3、设置时间,不改变日期

date -s 16:02:23
4、设置日期及时间

date -s "20090807 16:02:23"
5、查看100天又5小时前的具体时间

date -d "-1 day 5 hour" +"%Y-%m-%d %H:%M:%S"
6、查看100分钟后的时间

date -d "+100 min" +"%Y-%m-%d %H:%M:%S"
7、计算时间戳

date -d 20090528 +%s
8、还原时间戳

date -d "1970-01-01 1243440000 sec GMT" +"%F %T"
9、利用NTP协议在线更新系统时间

ntpdate 210.72.145.44