如何在bash中添加日期?


24

例如,我有日期:1993年8月4日,我想增加348天,我该如何用bash进行呢?

Answers:


30

只需将date命令与-d选项一起使用:

$ date -d "1983-08-04 348 days"
Tue Jul 17 00:00:00 BST 1984  

您可以根据需要更改输出格式:

$ date -d "1983-08-04 2 days" +%Y-%m-%d
1983-08-06                                           

1
您也可以使用OP的日期格式:date -d "4 August 1993 348 days" +"%d %B %Y"
已暂停,直到另行通知。

1
根据工作人员日期:%F full date; same as %Y-%m-%d
jperelli 2012年

12

在Mac OS X上的bash中,您可以执行以下操作:

date -j -v +348d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d

输出: 1994-07-18


1
一直在寻找这个。我很感激 我想用bash脚本中的变量替换数字“ 348”。最后我找到了NEXT_DATE=$(date -j -v +$(( incrementDays ))d -f "%Y-%m-%d" "1993-08-04" +%Y-%m-%d)其他想要这样做的人。
Ian G

1

这是更复杂的用法:

for i in `seq 1 5`;
do;
  date -d "2014-02-01 $i days" +%Y-%m-%d;
done;

或使用管道:

seq 1 5 | xargs -I {} date -d "2014-02-01 {} days" +%Y-%m-%d
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.