리눅스 + X 일을 추가하고 새로운 가상 날짜를 얻으십시오 11 07:59:16 IST 2012 그래서 나는

나는 리눅스 (RH 5.3) 머신을 가지고있다

10 일 플러스 날짜를 추가 / 계산해야하므로 새 날짜 (만료일)를 얻습니다.

예를 들어

 # date 
 Sun Sep 11 07:59:16 IST 2012

그래서 나는 얻을 필요가있다

     NEW_expration_DATE = Sun Sep 21 07:59:16 IST 2012

새로운 만료 날짜를 계산하는 방법을 조언하십시오 (bash, ksh 또는 date date 조작?)



답변

-d스위치를 사용하여 계산할 날짜를 제공하면됩니다.

date
Sun Sep 23 08:19:56 BST 2012
NEW_expration_DATE=$(date -d "+10 days")
echo $NEW_expration_DATE
Wed Oct 3 08:12:33 BST 2012 
  -d, --date=STRING
          display time described by STRING, not now

이것은 당신이 할 수있는 매우 강력한 도구입니다

date -d "Sun Sep 11 07:59:16 IST 2012+10 days"
Fri Sep 21 03:29:16 BST 2012

또는

TZ=IST date -d "Sun Sep 11 07:59:16 IST 2012+10 days"
Fri Sep 21 07:59:16 IST 2012

또는

prog_end_date=`date '+%C%y%m%d' -d "$end_date+10 days"`

따라서 $ end_date = 20131001이면 $ prog_end_date = 20131011


답변

“+ x days”를 형식 문자열로 사용할 수 있습니다.

$ date -d "+10 days"

답변

$ date -v -1d

날짜 명령을 사용하여 1 일 이전 날짜를 얻으려면 다음을 수행하십시오.

$ date -v -1d

(현재 날짜 -1)은 하루 전을 의미합니다.

$ date -v +1d

이것은 (현재 날짜 +1)을 의미합니다.

마찬가지로 아래에 쓰여진 코드는 연도, 월 등을 찾기 위해 “d”대신 사용될 수 있습니다.

y-Year
m-Month
w-Week
d-Day
H-Hour
M-Minute
S-Second