728x90
728x90
파이썬 UnixTime / DateTime 형식 변경 하기
개발을 하다 보면 제공받는 데이터들 중에서 UnixTime(유닉스 타임)으로 처리된 데이터를 받는 경우가 있다.
데이터 혹은 시스템상에서 해당 값으로 표현되거나 저장되는 것은 크게 문제가 없지만 사람이 해당 값을 볼 때는 어떤 시간을 표현하고 있는지 알아보기 매우 어렵다.
그래서 사람이 보기 편한 방식인 DateTime 형식으로 변경하는 방법에 대해서 알아보도록 하자.
먼저 파이썬 Code가 아닌 다른 여러 곳에서 해당 부분에 대해서 변경하는 방법에 대해서 먼저 작성했었던 내용이 있다.
나중을 위해서 해당 부분들은 참고하도록 하자.
728x90
1. UnixTime 형식에서 DateTime 형식으로 변경하기
변경을 하기 위한 파이썬 코드를 작성하기 위해서는 별다른 모듈을 설치할 필요가 없다.
파이썬에서 기본적으로 제공하고 있는 datetime 모듈을 이용하여 변경을 해보도록 하자.
# Python Example Code
# -*- coding: utf-8 -*-
import datetime
def unix2date(unix_time):
"""
Unix to Date
:param unix_time: Unix Time
:return:
"""
date_time = datetime.datetime.fromtimestamp(int(unix_time))
return date_time
if __name__ == "__main__":
unix_time = 1672912273
print(unix2date(unix_time))
### OUTPUT ###
2023-01-05 18:51:13
확인된 UnixTime 값을 넣으면 DateTime 형식으로 변경하여 출력되는 것을 확인할 수 있다.
728x90
2. DateTime 형식에서 UnixTime 형식으로 변경하기
그럼 이번에는 우리가 많이 사용하는 DateTime 형식을 UnixTime 형식으로 변경하는 파이썬 코드를 작성해 보도록 하자.
# Python Example Code
# -*- coding: utf-8 -*-
import datetime
def date2unix(date_time):
"""
Date to Unix
:param date_time: Date Time
:return:
"""
if not isinstance(date_time, datetime.date):
date_time = datetime.datetime.now()
unix_time = datetime.datetime.timestamp(date_time) * 1000
return int(str(unix_time)[0:10])
if __name__ == "__main__":
print(datetime.datetime.now())
print(date2unix(datetime.datetime.now()))
### OUTPUT ###
2023-01-05 18:56:49.085827
1672912609
이처럼 현재 DateTime을 넣으면 UnixTime 형식으로 변경하여 출력되는 것을 확인할 수 있다.
3. 예제 Code
이번에는 자주 사용하는 UnixTime / DateTime 형식을 변경하는 방법에 대해서 알아보았다.
위에 나온 예제 파일은 Github에 올려놓았다.
해당 내용에 대해서 문제가 있거나 궁금한 내용이 있다면 Github Issus 혹은 댓글로 남겨주면 답변하도록 하겠다.
728x90
728x90
🌵댓글