shell 基本语法搞明白,linux才能玩的转!

一、获取当前时间,年月日时分秒

now=$(date +%Y%m%d%H%M%S)
echo "$now"

输出为:20181202222727

二、date 在脚本中的几种用法

date +%Y 以 4 位数字格式打印年份
date +%y 以 2 位数字格式打印年份
date +%m 月份
date +%d 日期
date +%H 小时
date +%M 分钟
date +%S 秒
date +%w 星期,周日为 0

三、其他用法,获取当前时间之前的时间

第一种写法:

获取日、时、分、秒
day 前面的数:负数就是前几天,正数就是后几天,分钟和秒同理
date -d "-1 hour" +%H 前 1 小时
date -d "-1 min" +%M 前 1 分钟
date -d "-1 second" +%S 前 1 秒

date -d "-n day" +%d 获取前 n 天的日期
date -d "n days" +%Y%m%d 获取 n 天后的时间

date -d "3 years ago" +%Y%m%d 获取 3 年前的时间
date -d "3 years" +%Y%m%d 获取 3 年后的时间

date -d "3 month ago" +%m 获取 3 个月前
date -d "3 month" +%Y%m 获取 3 个月之后

第二种写法:

date -d "n days ago" +%d 获取 n 天前的日期
date -d "-n days ago" +%Y%m%d 获取 n 天后的日期

date -d "n month ago" +%d 获取 n 个月前的日期
date -d "-n month ago" +%Y%m%d 获取 n 个月后的日期

date -d "n month ago" +%d 获取 n 年以前的日期
date -d "-n month ago" +%Y%m%d 获取 n 年后的日期

第三种写法:

date +%Y%m%d --date="-n day" 获取 n 天前日期
date +%Y%m%d --date="-n day" 获取 n 天后日期

date +%Y%m%d --date="n month ago" 获取 n 个月以前的日期
date +%Y%m%d --date="-n month ago" 获取 n 个月以后的日期

date +%Y%m%d --date="n years ago" 获取 n 年以前的日期
date +%Y%m%d --date="-n years ago" 获取 n 年以后的日期

你可能感兴趣的:(linux,服务器,测试工具,软件测试,程序人生,经验分享,python)