无法在bash中使用ddmmyyyy格式增加日期

时间:2018-06-05 08:08:25

标签: 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"

无济于事。我错过了什么?

1 个答案:

答案 0 :(得分:4)

GNU日期不支持类型的日期格式 ddmmyyyy ,您可以在Pure numbers in date strings中看到,您需要更改 yyyymmdd 类型以使其正常工作

date -d "20180501 + 1 day"

或使用UTC作为

date -ud "20180501 UTC + 1 day"

如果您的原始字符串来自变量,并且您需要解决方法使其与上述格式兼容,请使用参数扩展

rawdate="02062018"
compatDate="${rawdate:4}${rawdate:2:2}${rawdate:0:2}"

并在compatDate命令

中使用变量date
date -d "${compatDate} + 1 day"