常用FORMAT
%Y YYYY格式的年份(Year)
%m mm格式的月份(),01-12
%d dd格式的日期(day of month),01-31
%H HH格式的小时数(),00-23
%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"
示例:
1.显示当前的时间
echo `date +%Y%m%d%H%M%S`
2.显示此刻1分钟后的时间
echo `date -d' +1 minutes' +%Y%m%d%H%M%S`
3.显示此刻1小时后的时间
echo `date -d' +1 hours' +%Y%m%d%H%M%S`
4.显示此刻1天后的时间
echo `date -d' +1 days' +%Y%m%d%H%M%S`
5.显示一周后的时间:
echo `date -d' +1 weeks' +%Y%m%d%H%M%S`
6.显示一月后的时间:
echo `date -d' +1 months' +%Y%m%d%H%M%S`
7.显示一年后的时间:
echo `date -d' +1 years' +%Y%m%d%H%M%S`
1分钟、小时、天、月、年前的时间只需改为-1即可。
应用:
设置crontab定时删除日志:
rm -rf "/opt/pentaho/server/pentaho-server/logs/pentaho.log.`date -d '-10 days' +%Y-%m-%d`"