首页 » shell » 正文

shell常用命令之date

平时在写脚本的时候肯定会设计新建文件夹,新建文件等,这个时候就会出现文件和文件夹的名称的问题,可能我现在觉得最好的办法就是通过日期来给文件夹来命名,特别是备份的时候,把每天的备份放入以当天日期命名的文件夹中,方便查找。

现在整理一下date的用法。

如果我们直接输入 date,则会出现现在的时间

2012年 08月 22日 星期三 12:28:33 CST

如果我们想按照一定格式输入,我们的文件夹肯定不能是上边的这个形式。所以我们要格式化,date的格式化是通过+来实现的

比如

date +%y%m%d的输出结果就是

120822

这样的结果就可以来直接作为文件夹名称了,感觉这个好记忆,且常用,其他的不常用的如下:

以下内容是逛网的时候瞄到的,直接拿过来了

% H 小时(00..23)

% I 小时(01..12)
% k 小时(0..23)
% l 小时(1..12)
% M 分(00..59)
% p 显示出AM或PM
% r 时间(hh:mm:ss AM或PM),12小时
% s 从1970年1月1日00:00:00到目前经历的秒数
% S 秒(00..59)
% T 时间(24小时制)(hh:mm:ss)
% X 显示时间的格式(%H:%M:%S)
% Z 时区 日期域
% a 星期几的简称( Sun..Sat)
% A 星期几的全称( Sunday..Saturday)
% b 月的简称(Jan..Dec)
% B 月的全称(January..December)
% c 日期和时间( Mon Nov 8 14:12:46 CST 1999)
% d 一个月的第几天(01..31)
% D 日期(mm/ dd /yy)
% h 和%b选项相同
% j 一年的第几天(001..366)
% m 月(01..12)
% w 一个星期的第几天(0代表星期天)
% W 一年的第几个星期(00..53,星期一为第一天)
% x 显示日期的格式(mm/dd/yy)
% y 年的最后两个数字( 1999则是99)

% Y 年(例如:1970,1996等)

date -d “x days ago” +%Y%m%d

x用数字代替,如果需要几天前的直接写正数,如果要几天后的日期直接写负数即可;
date -d “x weeks ago” +%Y%m%d
x用数字代替,如果需要几周前的直接写正数,如果要几周后的日期直接写负数即可;
date -d “x years ago” +%Y%m%d
x用数字代替,如果需要几年前的直接写正数,如果要几年后的日期直接写负数即可;
       使用示例三:
在linux环境下要取得几天前的时期只要使用
date -d “x days ago” +%Y%m%d
x用数字代替,如果需要几天前的直接写正数,如果要几天后的日期直接写负数即可;
date -d “x weeks ago” +%Y%m%d
x用数字代替,如果需要几周前的直接写正数,如果要几周后的日期直接写负数即可;
date -d “x years ago” +%Y%m%d
x用数字代替,如果需要几年前的直接写正数,如果要几年后的日期直接写负数即可;
看下面例子:
[root@linuxso.com ~]# date +%Y%m%d
20100107
上面是今天的日期20100107
[root@linuxso.com ~]# date -d “2 days ago” +%Y%m%d
20100105
上面是两天前的日期
[root@linuxso.com ~]# date -d “4 days ago” +%Y%m%d
20100103
上面是四天前的日期
[root@linuxso.com ~]# date -d “-1 days ago” +%Y%m%d
20100108
上面是一天后的日期
[root@linuxso.com ~]# date -d “-2 days ago” +%Y%m%d
20100109
上面是两天后的日期
[root@linuxso.com ~]# date -d “1 week ago” +%Y%m%d
20091231
上面是一周前的日期
[root@linuxso.com ~]# date -d “1 year ago” +%Y%m%d
20090107
上面是一年前的日期

http://www.linuxso.com/command/date.html

 

 

时间:2012-08-22 12:39:32

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)