오류가 발생했습니다. 사용자가 날짜를 보내면 다음 달을 얻으려고 합니다.
D="2019/12/01";
D=$(date -d "$D");
echo "Current Date = $D";
인쇄Current Date = Sun Dec 1 00:00:00 EST 2019
current_month=$(date -d "$D" '+%m');
echo "Current Month = $current_month";
인쇄Current Month = 12
nextm=$(date -d "$D" "+next months");
echo "Next Month = $nextm";
인쇄 Next Month = next months
다음 달은 어떻게 받나요?
**************** 갱신************************
D="2019/11/01";
D=$(date -d "$D");
echo "Current Date = $D";
Current Date = Fri Nov 1 00:00:00 EDT 2019
current_month=$(date -d "$D" '+%m');
echo "Current Month = $current_month";
Current Month = 11
next_date=$(date -d "$D next month")
echo "Next Date = $next_date";
Next Date = Sat Nov 30 23:00:00 EST 2019
next_year=$(date -d "$next_date" '+%Y');
echo "Next Year = $next_year";
Next Year = 2019
12월 1일이 아닌 11월 30일을 인쇄합니다.
답변1
다음과 같이 입력 날짜 문자열(GNU Date 사용)에 월을 추가할 수 있습니다.
nextm=$(date -d "$D +1 month")
또는:
nextm=$(date -d "$D next month")
$D
과 를 별도로 인용하면 +next months
서로 다른 두 개의 매개변수가 되어 날짜별로 원하는 대로 읽히지 않습니다.