cal 명령이나 date 명령을 사용하여 현재 날짜를 표시하고 현재 날짜로부터 3개월 전을 표시한 다음 이 3개월의 모든 날짜를 현재 날짜에 더하고 싶습니다. 이를 수행할 수 있는 방법이 있습니까?
따라서 오늘 날짜는 다음과 같이 표시됩니다.
Fri Dec 19 13:23:36 GMT 2014
3개월 전은 다음과 같았습니다.
Fri Sep 19 13:23:36 GMT 2014
나는 Linux가 9월 19일부터 12월 19일까지의 모든 날짜를 더한 다음 그 계산 결과를 표시하기를 원합니다.
답변1
bash
그리고 GNUdate
#grab today's date in YYYYMMDD format
today=$(date +%Y%m%d)
#grab date as of 3 months ago in YYYYMMDD format
three_months_ago=$(date +%Y%m%d --date='3 months ago')
#now convert dates to "seconds since epoch" format, and then divide the difference by 60*60*24 to convert from seconds to days
printf '%d\n' $(( ($(date --date=$today +%s) - \
$(date --date=$three_months_ago +%s))/(60*60*24) ))
91