날짜 형식을 yyyy-mm-dd로 변경하는 방법

날짜 형식을 yyyy-mm-dd로 변경하는 방법

2017-11-25 23:35:08날짜를 ( yyyy-mm-dd hh:mm:ss) 에서 다음으로 변경하고 싶습니다 .

Sat Nov 25 23:35:08 IST 2017

나는 그것을 시도했지만 echo 2017-11-25 | gawk '{print strftime("%c", $4)}'작동하지 않습니다.

답변1

GNU 사용 date:

$ date -d "2017-11-25 23:35:08"
Sat Nov 25 23:35:08 CET 2017

결과는 현지 시간대(및 현지 로케일)로 표시됩니다.

IST 시간대를 명시적으로 요청하려면 다음을 사용하세요.

$ TZ=Asia/Calcutta date -d "2017-11-25 23:35:08"
Sat Nov 25 23:35:08 IST 2017

POSIX/C 로캘에 대한 형식도 가져오려면 다음을 수행하세요.

$ LC_TIME=C TZ=Asia/Calcutta date -d "2017-11-25 23:35:08"
Sat Nov 25 23:35:08 IST 2017

strftime()GNU awk(및 )의 함수 는 mawk문자열을 두 번째 인수로 사용하지 않고 Unix 타임스탬프를 사용합니다. mktime()원하는 형식으로 변환을 사용하여 시간을 Unix 타임스탬프로 변환해야 합니다 strftime(). 호출을 mktime()위해서는 먼저 입력을 개별 연도, 월, 일 등으로 나누어야 합니다.

또한 $4함수를 호출하면 비어 있게 됩니다(입력에 네 번째 필드가 없음).

관련 정보