【问题标题】:Increment date stored in variable BASH [duplicate]存储在变量 BASH 中的递增日期 [重复]
【发布时间】:2014-01-30 22:51:23
【问题描述】:

找了好几个小时都没有用。非常感谢任何答案。

initial_date (format %m%d%Y) 保存由 oracle 数据库查询返回的值。我想将此日期增加 1 天,并将其进一步用作某些函数的输入参数。

> echo $initial_date
02012014 

>tomorrow_date=`date +"%m%d%Y" -d ${initial_date}' + 1 day'`
date: invalid date `02012014 + 1 day'

【问题讨论】:

标签: bash date increment date-arithmetic


【解决方案1】:

您需要先将初始日期转换为有效格式,例如yyyyMMdd。试试:

date +"%m%d%Y" -d "${initial_date:4}${initial_date:0:4} + 1 day"

【讨论】:

  • 完美运行。谢谢你。现在我明白我错在哪里了。
  • +1。一般来说,gnu.org/software/tar/manual/html_node/… 提供了有关-d 可以使用哪些格式的信息。 OSX 用户:相当于上面的 GNU date 命令是:date -j -f '%m%d%Y' -v '+1d' "$initial_date" +'%m%d%Y'
猜你喜欢
  • 1970-01-01
  • 2011-11-20
  • 2011-03-09
  • 1970-01-01
  • 2020-07-01
  • 2023-04-07
  • 2016-12-23
  • 2019-09-02
  • 2020-06-22
相关资源
最近更新 更多