无法在bash中使用ddmmyyyy格式增加日期
为什么会这样:无法在bash中使用ddmmyyyy格式增加日期,bash,date,Bash,Date,为什么会这样: date +%d%m%Y -d "01052018 + 1 day" 错误w/ date: invalid date `02062018 + 1 day' 在CEST的CentOS 7.3上?我试过一些变化 date +%d%m%Y -d "$date 12:00 + 1 day" date +%d%m%Y -ud "$date UTC + 1 day" 无济于事。我遗漏了什么?GNU date不支持ddmmyyyy类型的日期格式,如您所见,您需要将其更改为yyyymmdd
date +%d%m%Y -d "01052018 + 1 day"
错误w/
date: invalid date `02062018 + 1 day'
在CEST的CentOS 7.3上?我试过一些变化
date +%d%m%Y -d "$date 12:00 + 1 day"
date +%d%m%Y -ud "$date UTC + 1 day"
无济于事。我遗漏了什么?GNU date不支持ddmmyyyy类型的日期格式,如您所见,您需要将其更改为yyyymmdd类型以使其正常工作
date -d "20180501 + 1 day"
或者UTC作为
date -ud "20180501 UTC + 1 day"
如果您的原始字符串来自变量,并且您需要一种变通方法使其与上述格式兼容,请使用参数展开进行操作
rawdate="02062018"
compatDate="${rawdate:4}${rawdate:2:2}${rawdate:0:2}"
并在date命令中使用变量compatDate
在我的系统上,即使没有+1天,我也会复制错误,但如果我使用分隔符,例如日期+%d%m%Y-d 2018年5月1日+1天,错误就会消失。我想01052018是不明确的。这不是+%d%m%Y不明确的一点吗!起始日期:格式控制输出。我认为它不会改变输入日期的方式parsed@mathematician:答案对你合适吗?如果它解决了你的问题,请投票/接受
date -d "${compatDate} + 1 day"