【问题标题】:Add 1 day into existing date having dots in date将 1 天添加到现有日期中,日期中有点
【发布时间】:2021-09-29 18:40:32
【问题描述】:

输入我有日期格式的点 例如 2021.09.29

我想将输入日期增加 1 天,以便
输出变为 2021.09.30

如果我有破折号或日期,我可以做到这一点

date -d "2021-09-25 + 1 day" +"%Y-%m-%d"

如果我这样做,我会收到无效日期错误

 date -d "2021.09.25 + 1 day" +"%Y.%m.%d"

【问题讨论】:

  • 这是一个例子,说明 GNU 日期并不像它所声称的那样灵活。 BSD date 会让你做类似date -jv +1d -f %Y.%m.%d +%Y.%m.%d "2021.09.25" 的事情。 -f 选项允许您指定确切的输入格式,而不是依赖于 GNU 广泛但固定的选项集。 (虽然如果输出格式可以默认为输入格式,而不是要求它被指定两次,那就太好了。)

标签: linux bash date unix


【解决方案1】:

. 替换为- 相对简单:

$ d=2021.09.25
$ date -d "${d//./-/} + 1 day" +%Y.%m.%d
2021.09.26

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-26
    • 2012-04-16
    • 2018-03-22
    • 1970-01-01
    相关资源
    最近更新 更多