Shell中date -d 默认支持的日期格式

1、默认就可以识别的格式

根据文档(外链)+测试,我们可以得到在中国常用的受支持的一些日期格式:

echo $(date -d "2021-1-1"   )      #1和01都可以
echo $(date -d "2021/1/1" )        #1和01都可以
echo $(date -d "12/1/2021" )       #月/日/年,美式写法
echo $(date -d "20210101" )        #年月日-神奇吧,存数字格式也支持,不过要按照年月日的顺序来,并且不足两位的数字要补0
                                   #补充一句,年与日格式必须为8位数字,且日期不能忽略,不可以直接用年月进行转换
#其他不常用的就不列举了,大家可以自行尝试哈

2、当前日期的加减

$ date -d "+3 day"
Mon Feb  5 09:45:52 CST 2018
$ date -d "-3 day" 
Tue Jan 30 09:46:04 CST 2018
$ date -d "-3 month"
Thu Nov  2 09:46:16 CST 2017
$ date -d "+3 month" 
Wed May  2 09:46:24 CST 2018
$ date -d "+3 year" 
Tue Feb  2 09:46:35 CST 2021
$ date -d "-3 year" 
Mon Feb  2 09:46:40 CST 2015
$ date -d "-3 hour" 
Fri Feb  2 06:46:59 CST 2018
$ date -d "+3 hour" 
Fri Feb  2 12:47:02 CST 2018
$ date -d "+3 minute"
Fri Feb  2 09:50:09 CST 2018
$ date -d "-3 minute" 
Fri Feb  2 09:44:12 CST 2018
$ date -d "-3 second"
Fri Feb  2 09:47:21 CST 2018
$ date -d "+3 second" 

#说句题外话,有的地方在英文单词后面加了一个复数s,比如 +3 years ,测试发现效果和+3 year是一样的,应该是内部有做处理

3、指定时间的加减

和2、其实差不多,只不过我们可以将1、中的支持的格式时间字符串传递进去,比如

echo $(date -d "20210301 -2 months")
Fri Jan 1 00:00:00 CST 2021

#将能够识别的日期格式放在日期计算表达式之前即可,不在赘述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值