shell脚本中关于日期的操作

一、计算指定日期的前一天的日期

  date -d "yesterday 20150401 " +%Y%m%d

二、如果获取当前日期的前一天

       date -d "yesterday" +%Y%m%d

三、计算指定日期的前几天(例如计算20190716的前10天),如果是负数的话,则会往前数

  date -d "10 day ago 20190716" +%Y%m%d

  或 

  date -d "10 day ago 2019-07-16" +%Y%m%d

四、计算当前日期的前几天(例如计算当前日期的前10天),如果是负数的话,则会往前数

  date -d "10 day ago" +%Y%m%d

五、获取指定小时点之后的时间

  date -d "20190716 12 3 hour" +"%Y%m%d%H"  # 表示2019年07月16日12点 向后移动三个小时的时间,运行结果为:2019071615

六、获取当前时间点之后的几小时的时间点

  date -d "3 hour" +"%Y%m%d%H"  # 表示获取当前时间点3小时之后的时间,结果精确到小时

七、获取指定时间点之后几分钟  

  date -d "20190716 21:15 10 minute" +"%Y%m%d%H%M"  # 表示2019年07月16日21时15分在10分钟的时间点,精确到分

八、获取当前时间点之后的几分钟

  date -d "10 minute" +"%Y%m%d%H%M"

九、获取本月

  date +"%Y%m"

十、获取下月

  date -d "1month" +"%Y%m"

十一、获取上月

  date -d "-1month" +"%Y%m"

十二、获取昨天

  date -d yesterday  # 这样是未经过任何的格式化,比较难看

  date -d yesterday +"%Y%m%d"  # 这样是经过格式化的

十三、获取明天

  date -d tomorrw

  date -d tomorrw +"%Y%m%d"

  date +%Y%m%d -d "+1 day"

  date +"%Y%m%d" -d '+1 day'  # 这里引号不是必须的

  date +%Y%m%d --date "+1 day"

  date +"%Y%m%d" --date '+1 day'

十四、指定月份

  date -d 1May

十五、现在

  date -d now

  或

  date

十六、获取当前时间的日期

  1、date +"%Y-%m-%d"

  2、date +"%F"

十七、获取当前的时间的各指标

  1、date +%H  #小时

  2、date +%M  #分钟

  3、date +%S  #秒

  4、date +%T  #时间

  5、date +%w  #星期

  6、date -d "-1 day" +%F  # 前一天

原文地址:https://www.cnblogs.com/Gxiaobai/p/11197677.html