shell 基本语法 (下)

本贴最后更新于 1109 天前,其中的信息可能已经时过境迁

date函数使用

  1. 获取当前时间,年月日时分秒

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

输出为:20181202222727

  1. date在脚本中的几种用法

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

  2. 其他用法,获取当前时间之前的时间

    第一种写法:

    获取日、时、分、秒
    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
    18 引用 • 5 回帖 • 1 关注
回帖
请输入回帖内容 ...