bash에 날짜를 추가하는 방법은 무엇입니까?


24

예를 들어, 날짜가 1993 년 8 월 4 일인데 348 일을 추가하고 싶습니다. 어떻게 bash에서 할 수 있습니까?

답변:


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

12

Mac OS X의 bash에서 다음을 수행 할 수 있습니다.

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

산출: 1994-07-18


1
이것을 오랫동안 찾고있었습니다. 고맙습니다. 숫자 "348"을 bash 스크립트의 변수로 바꾸고 싶었습니다. 나는 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.