2015년 7월 14일을 2015년 8월 14일로 변환하는 방법 [중복]

2015년 7월 14일을 2015년 8월 14일로 변환하는 방법 [중복]

14/Jul/2015로 어떻게 변환할 수 있나요 14-08-2015?

invalid date format요소 때문 이라고 하는데 Jul넣어두면 07잘 작동합니다.

나는 이것을 시도했습니다 :

echo "Please enter the date: "
read X (here X is 14/Jul/2015)
a= date --date=$X '+%d-%b-%y'
echo "$a"

답변1

$x포함된 경우 14/Jul/2015다음을 사용하세요.

date -d "${x//\//-}" '+%d-%m-%Y'

다음과 같이 인쇄됩니다.

14-07-2015

유틸리티 date는 슬래시로 구분된 문자열을 인식하지 못하므로 해당 문자열을 제거하고 -대시( )로 바꿔야 합니다.

답변2

문제는 가 아니라 Jul에 있으므로 /매개변수 대체 메커니즘을 사용하여 제거하세요.

echo "Please enter the date: "
read X
a=$(date --date="${X//\//-}" '+%d-%b-%y')
echo "$a"

변수 할당도 잘못되었으며(뒤에 공백을 사용할 수 없음 =) 명령 대체를 대괄호로 묶어야 합니다 $().

관련 정보