Linux shell脚本中经常使用的date输出

1、获取某个格式如,2022-06-16T00-27-18

[root@localhost ~]# date=$(date +%Y-%m-%d)
[root@localhost ~]# dateH_now=$(date +'%H-%M-%S')
[root@localhost ~]# key_now=${date}T$dateH_now
[root@localhost ~]# echo $key_now
2022-06-16T00-27-18

2、仅获取当前时间的时分秒

[root@localhost ~]# date +'%H-%M-%S'
00-26-0

3、获取当前时间的年月日时分秒

[root@localhost ~]# date +%Y-%m-%d' '%H-%M-%S 
2022-06-16 00-30-34

4、设置系统时间

date -s "2022-06-16 00:31:00"
clock -w

5、获取今天日期 2022-06-16

$ date -d now +%Y-%m-%d   或者
$ date +%F

6、获取明天日期 2022-06-17

$ date -d next-day +%Y-%m-%d
$ date -d tomorrow +%Y-%m-%d

7、获取昨天日期 2022-06-15

$ date -d yesterday +%Y-%m-%d  或者
$ date -d last-day +%Y-%m-%d  或者
$ date -d "1 days ago" +%Y-%m-%d
##"n days ago"  表示n天前的那一天,如10天前 2022-06-06
$ date -d "10 days ago" +%Y-%m-%d

8、获取取30天前的日期 2022-05-17

$ date -d "30 days ago" +%Y-%m-%d

9、当时时间,获取整点小时

[root@localhost ~]# date
Thu Jun 16 00:34:32 CST 2022
[root@localhost ~]# date +%H -d"0 hours ago"   当前是凌晨零点
00
[root@localhost ~]# date +%H -d"1 hours ago"  前一个小时即23点
23
[root@localhost ~]# date +%H -d"N hours ago"  表示前N个小时

10、使用负数以得到相反的日期(参照日期2022-06-16)

$ date -d 'dec 14 -2 weeks' +%F   #相对于dec 14这个日期的两周前的日期 2022-11-30
$ date -d '-100 days' +%F         #100天以前的日期 2022-03-08
$ date -d '50 days' +%F           #50天后的日期 2022-08-05

11、其他用法:

$ date -d next-month +%F   #下个月今天日期 2022-07-16
$ date -d last-month +%F   #上个月今天日期 2022-05-16
$ date -d next-year +%Y    #明年日期 2023
$ date -d '2 weeks' +%F    #获取两星期以后的日期 2022-06-30

你可能感兴趣的:(shell脚本,linux,bash,运维)