한 날짜 형식을 다른 날짜 형식으로 변환하는 방법은 무엇입니까?

한 날짜 형식을 다른 날짜 형식으로 변환하는 방법은 무엇입니까?

날짜 형식에 문제가 있습니다. 한 형식에서 다른 형식으로 또는 그 반대로 변경하고 싶습니다. 내 날짜 형식은 다음과 같습니다.

형식 1

YYYY-MM-DD

형식 2

MM/DD/YYYY

format1을 format2로, format2를 format1로 변경하고 싶습니다.

답변1

이렇게 하려면 GNU "date"를 사용하세요. 또한 다른 형식 간에도 변환됩니다( date --help형식 목록 참조).

$ date -d 2013-07-05 +%m/%d/%Y
07/05/2013
$ date -d 07/05/2013 +%F
2013-07-05

답변2

변환해야 하는 텍스트 형식의 날짜가 있다고 가정합니다.

echo '2013-12-13' | awk -v FS=- -v OFS=/ '{print $2,$3,$1}'

그 반대로

echo '12/13/2013' | awk -v FS=/ -v OFS=- '{print $3,$1,$2}'

답변3

$ echo YYYY-MM-DD | { IFS=- read y m d && echo "$m/$d/$y"; }
MM/DD/YYYY

파일에 다음 날짜가 많이 포함되어 있는 경우 한 줄에 하나씩:

awk -F- -vOFS=/ '{print $2,$3,$1}' < that-file

답변4

sed를 다음과 같이 사용하세요:

$ echo '2013-12-13' | sed -r 's/([[:digit:]]{2,4})-([[:digit:]]{1,2})-([[:digit:]]{1,2})/\2\/\3\/\1/g'
12/13/2013
$ echo '12/13/2013' | sed -r 's/([[:digit:]]{1,2})\/([[:digit:]]{1,2})\/([[:digit:]]{2,4})/\3-\1-\2/g'
2013-12-13

관련 정보