как добавить день в дату в Bash?

40532
inothemo

Например, у меня есть дата: 4 августа 1993 года, и я хочу добавить к ней 348 дней, как я могу сделать это в bash?

24

3 ответа на вопрос

29
Dave Webb

Просто используйте 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  
Вы также можете использовать формат даты OP: `date -d" 4 августа 1993 348 дней "+"% d% B% Y "` Dennis Williamson 15 лет назад 1
По дате человека: `% F полная дата; такой же как% Y-% m-% d` jperelli 12 лет назад 1
11
Tom Söderlund

In bash on Mac OS X, you can do this:

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

Output: 1994-07-18

1
Bohdan

Here is a little more complex usage of this:

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

or with pipes:

seq 1 5 | xargs -I {} date -d "2014-02-01 {} days" +%Y-%m-%d