Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在bash中使用ddmmyyyy格式增加日期_Bash_Date - Fatal编程技术网

无法在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"