반응형
unix timestamp를 date format으로 변경하는 방법이다.
unix timestamp가 필자가 겪은 봐로는 숫자 11자리여야 하는데.... 11자리 이상으로 구성되어 있는 unix timestamp도 있다.
이때 숫자 자릴수를 확인 한다음에 11자리로 맞추어 준다.
아래 예제는 unix timestamp가 숫자 11자리가 아닌 17자리일때에 대한 예제이다.
timestamp 자릿수가 11자리이면 변환없이 바로 format만 변환하면 된다.
17 -> 11자리로 변환
SHELL) $ echo "1635927075423743" | wc -c
17
SHELL) $ echo "$((1635927075423743 / 1000 / 1000))" | wc -c
11
unix timestamp -> date format
Usage) date -d @$(({TIMESTAMP_VALUE} / 1000 / 1000)) +'%Y-%m-%d %H:%M:%S'
(ex) $ date -d @$((1635927075423743 / 1000 / 1000)) +'%Y-%m-%d %H:%M:%S'
2021-11-03 17:11:15
date format을 unix timestamp foramt으로는 아래와 같이 변경이 가능하다.
linux에서는 기본적으로 11자리로 출력이 된다.
[ user_name@hostname ] # date +"%s"
1669104062
** python으로 변환 방법
USAGE) python -c \
'from datetime import datetime
print(datetime.fromtimestamp(int({TIMESTAMP_VALUE} / 1000 / 1000)).strftime("%Y-%m-%d %H:%M:%S"))'
(ex) $ python -c \
'from datetime import datetime
print(datetime.fromtimestamp(int(1635927075423743 / 1000 / 1000)).strftime("%Y-%m-%d %H:%M:%S"))'
2021-11-03 17:11:15
반응형
'운영체제 > Linux' 카테고리의 다른 글
[Linux] tee Command를 이용한 stdout / stderr 처리 관련 (0) | 2023.12.06 |
---|---|
[Linux] Hex <-> Dec 변환 (0) | 2022.11.22 |
[Linux] 파일 인코딩 확인 및 변환(iconv) euc-kr <=> utf-8 (0) | 2022.01.06 |
[Linux] mount fail "Mounting V5 Filesystem...Ending clean mount" Error 발생 (0) | 2021.12.07 |
[Linux] mount fail : structure needs cleaning (구조에 청소가 필요합니다) (0) | 2021.04.28 |