AIX에서 Unix 타임스탬프를 사람이 읽을 수 있는 형식으로 변환

AIX에서 Unix 타임스탬프를 사람이 읽을 수 있는 형식으로 변환

Unix 타임스탬프(1970년 이후의 초 수, 예: 1381260225는 2013년 10월 8일 화요일 19:23:45 GMT임)를 사람이 읽을 수 있는 표준 형식으로 변환해야 합니다.

인터넷 검색을 통해 몇 가지 답변을 얻을 수 있지만 Linux를 사용하지 않기 때문에 이것이 나에게 적합한 솔루션이 아닙니다.운영 체제 6.1ksh88의 기계.AIX용 GNU 유틸리티는 없습니다.

답변1

Perl로 돌아갈 수도 있습니다.

perl -MPOSIX=strftime -e 'print strftime("%Y-%m-%d %T", localtime($ARGV[0])), "\n"' 1381260225
2013-10-08 15:23:45

답변2

Linux를 사용하는 경우 간단히 다음을 사용할 수 있습니다.

date -d @1381260225

또는 gawk를 사용할 수도 있습니다.

echo "1381260225" | gawk '{print strftime("%c",$1)}'

또는 파이썬:

python -c "import datetime; print  datetime.datetime.fromtimestamp(1381865497)"

또는 펄:

perl -e 'print(scalar(localtime(1381865497)), "\n";'

그러나 이러한 솔루션 중 어느 것도 기존 AIX 설치에서는 작동하지 않습니다. 이러한 모든 도구(GNU coreutils, GNU awk, Perl, Python)는 다음과 같이 별도의 패키지로 제공됩니다.Linux 애플리케이션용 AIX 도구 상자.

답변3

# echo 1381260225 | python -c 'import sys; import time; print time.ctime( float( sys.stdin.read() ) )'
Wed Oct  9 02:23:45 2013

답변4

AIX에는 ksh93이 있으므로 다음과 같습니다.

  • 현지 시간(여기서는 영국 본토 시간):

    $ ksh93 -c 'printf "%(%Y-%m-%d %T %z)T\n" "#$1"' ksh93 1381260225
    2013-10-08 20:23:45 +0100
    
  • 그리니치 표준시/UTC

    $ TZ=GMT0 ksh93 -c 'printf "%(%Y-%m-%d %T %Z)T\n" "#$1"' ksh93 1381260225
    2013-10-08 19:23:45 GMT
    

관련 정보