【发布时间】:2023-03-16 19:12:01
【问题描述】:
我想在 bash 中使用 date 命令为日期添加一天。日期输入格式如下:20130101,表示2013年1月1日
我使用这个命令来完成:
date -d "20130101 +1 day" +%Y%m%d
直到今天一切顺利:20130322
然后它返回了这个错误:
date: invalid date ‘20130322 +1 day’
我尝试了其他一些类似日期的代码,其中一些很好,有些则不然!正常吗?我的意思是它可能与数字系统转换有关,例如当 for 循环到达第 9 个循环时发生的转换。如何正确解决该问题?
【问题讨论】:
-
显示您的完整代码。它有效,刚刚尝试this script 并在 20670201 停止...
-
RHEL6、RHEL7、Ubuntu 11.04 和 Ubuntu 14.04.1 没有问题。可使用 RHEL5 重现,但使用来自 GNU coreutils 5.97 版的日期命令的
date -d "20130101 +1 day" +%Y%m%d和date -d "20130322 +1 day" +%Y%m%d。 -
@jm666 我试过你的代码,在 CentOS 6.5 和 Ubuntu 14.04 上还是一样
-
与
date (GNU coreutils) 8.23一起使用...奇怪。我从来没有想过可能会有这样的错误..