(转载)shell中用date命令获取昨天、明天或者多天前的日期

时间:2023-01-11 04:54:15

(转载)http://blog.sina.com.cn/s/blog_3e4774e30100p0yv.html

使用date命令获取日期很方便,最近需要获取当前日期的下一天日期在linux应该如何获取,想到通过date命令来获取,但参数不太熟悉,查看help文档,此时我们需要用到-d参数,使用man date -d可以查看到一些帮助,但有些模糊,下面举例常用的获取相应日期的命令:

    date -d next-day +%Y%m%d #明天日期
       date -d tomorrow +%Y%m%d # 明天日期
    date -d last-day +%Y%m%d #昨天日期
    date -d yesterday +%Y%m%d #昨天日期
       date -d last-month +%Y%m #上个月日期
       date -d next-month +%Y%m #下个月日期
       date -d next-year +%Y #明年日期
     
    获取两星期以后的日期:date -d '2 weeks'
    关于该命令,还有其他一些使用方法:
    1、使用 next/last指令,您可以得到以后的星期几是哪一天:
       date -d 'next monday' (下周一的日期)
       date -d next-day +%Y%m%d(明天的日期)或者:date -d tomorrow +%Y%m%d
       date -d last-day +%Y%m%d (昨天的日期) 或者:date -d yesterday +%Y%m%d
       date -d last-month +%Y%m(上个月是几月)
       date -d next-month +%Y%m(下个月是几月)
    2、使用 ago 指令,您可以得到过去的日期:
       date -d ’30 days ago’ (30天前的日期)
    3、可以使用负数以得到相反的日期:
       date -d ’dec 14 -2 weeks’ (相对:dec 14这个日期的两周前的日期)
       date -d ’-100 days’ (100天以前的日期)
       date -d ’50 days’(50天后的日期)