Linux下对于date命令的操作

date 显示日期的命令

输出当前日期(年月日) 

date +%Y%m%d

----------------

20180515

 

也可以更改格式

date +%Y-%m-%d
date +%Y/%m/%d

--------------

2018-05-15

2018/05/15

 

输出当前时间(时分秒)

date +%H%M%S

--------------

154651

 

结合起来就是

date +%Y-%m-%d_%H:%M:%S

--------------

2018-05-15_15:50:59

 

输出昨天

date -d yesterday
date -d last-day
date -d last-days
date -d "last day"
date -d "last days"
date -d "-1 day"
date -d "-1 days"
date -d "1 day ago"
date -d "1 days ago"

--------------

2018年 05月 15日 星期二 15:23:34 CST

 

输出明天

date -d tomorrow
date -d next-day
date -d next-days
date -d "next day"
date -d "next days"
date -d "+1 day"
date -d "+1 days"
date -d "1 day"
date -d "1 days"
date -d "-1 day ago"
date -d "-1 days ago"

--------------

2018年 05月 17日 星期四 15:27:44 CST

 

总结下:

格式:date -d STRING

显示用STRING指定的日期时间

String可以用"tomorrow","yesterday","next-day"等

格式:date +Format

根据指定格式显示当前时间。比如 date +%Y-%m-%d 就是以 YYYY-mm-dd 的形式显示当前日期,其中YYYY是年份,mm为月份,dd为日期。

 

常用FORMAT

%Y  YYYY格式的年份(Year)

%m  mm格式的月份(),01-12

%d   dd格式的日期(day of month),01-31

%H   HH格式的小时数(),00-23

%h   月份 例如,5月

%M  MM格式的分钟数(),00-59

%S   SS格式的秒数(),00-59

%F   YYYY-mm-dd格式的完整日期(Full date),同%Y-%m-%d

%T   HH-MM-SS格式的时间(Time),同%H:%M:%S

%s   自1970年以来的秒数。C函数time(&t) 或者Java中 System.currentTimeMillis()/1000, new Date().getTime()/1000

%w   星期几,0-6,0表示星期天

%u   星期几,1-7,7表示星期天

 

注意以上格式是可以任意组合的,还可以包括非格式串

比如

date +今天是%Y-%m-%d现在是%H:%M:%S

----------------

今天是2018-05-16现在是15:43:36

 

可以看到,中间是不能有空格的,如果要有空格,应该怎么做呢?

date "+今天是%Y-%m-%d 现在是%H:%M:%S"

----------------

今天是2018-05-16 现在是15:43:48

 

双引号"",单引号'',反引号``具体的区别在这里不再描述了

 

显示周几

date +%w

----------------

3

 

显示昨天是周几

date -d yesterday +%w

----------------

2

 

指定几号

date +%Y%m01

----------------

20180501

 

posted @ 2018-05-15 17:27  Xeeyn  阅读(486)  评论(0编辑  收藏  举报