当我运行此命令时,我得到了你期望的结果:
date -d "2018-06-07 + 1 days"
Fri Jun 8 00:00:00 CEST 2018
在所提供的日期添加1天(以午夜为起点)。
然而,当我尝试在一段时间(17:00:00)工作时,会发生两件事。
date -d "2018-06-07 17:00:00 + 28 days"
该联机帮助页说约-d / - 日期是几乎免费的格式。但是当你使用时间(小时:分钟:秒)时,我开始认为加号被错误地解释(可能是时区偏移?)?
那么如何从时间戳日期添加天数?
答案 0 :(得分:1)
对于有时间戳工作的日期的增量,时间戳必须采用date
命令默认返回的标准格式。因此,请将日期清理为接受分钟算术并执行处理的格式。
date -d "2018-06-07 17:00:00"
Thu, Jun 07, 2018 5:00:00 PM
现在把它放在一个变量中,例如把你的字符串放在下面的例子中
dateStr=$(date -d "2018-06-07 17:00:00")
date -d "$dateStr + 28 days"
返回
Thu, Jul 05, 2018 5:00:00 PM
该示例使用来自IST的时区。