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
함수를 호출하면 비어 있게 됩니다(입력에 네 번째 필드가 없음).