Python에서 Epoch를 Datetime으로 변환
이 튜토리얼은 파이썬에서 epoch 초를 datetime 형식으로 변환하는 방법을 소개합니다.
Epoch는 1970 년 1 월 1 일 epoch 날짜 이후 경과 한 시간 (초)을 나타내는 용어입니다. 1970 년은 UNIX OS의 릴리스 날짜입니다. Epoch 시간은 UNIX 타임 스탬프라고도합니다.
예를 들어 2020 년 11 월 25 일 (00:00:00) 날짜의 에포크는 1606262400
이되며 이는 1970/01/01 이후 해당 날짜까지 경과 한 초 수입니다.
time
모듈을 사용하여 Python에서 Epoch를 Datetime으로 변환
Python time
모듈은 편리한 시간 관련 기능을 제공합니다. 이 함수는 UNIX 타임 스탬프와 관련된 계산에 대한 많은 지원을 제공합니다.
예를 들어 ’time.localtime()‘함수는 epoch 초를 인수로 받아들이고 9 개의 시간 시퀀스로 구성된 시간 값 시퀀스를 생성합니다.
이 예에서는 임의의 epoch 시간을 사용하겠습니다.
import time
epoch_time = 1554723620
time_val = time.localtime(epoch_time)
print("Date in time_struct:", time_val)
출력:
Date in time_struct: time.struct_time(tm_year=2019, tm_mon=4, tm_mday=8, tm_hour=19, tm_min=40, tm_sec=20, tm_wday=0, tm_yday=98, tm_isdst=0)
localtime()
은 epoch 시간에 포함 된 정확한 연도, 월, 일 및 기타 datetime 세부 정보를 포함하는 epoch 시간의 세부 정보가있는 튜플struct_time()
을 출력합니다.
time
모듈에는 튜플을 datetime 형식으로 변환하는 또 다른 함수time.strftime()
이 있습니다.
이 함수는 2 개의 인수를받습니다. 첫 번째 인수는 변환을 위해 지정된 형식을 포함하는 문자열이고 두 번째 인수는struct_time()
튜플입니다.
이제 위의 동일한 epoch time 예제를 읽을 수있는 datetime 형식으로 변환합니다.
import time
epoch_time = 1554723620
time_formatted = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(epoch_time))
print("Formatted Date:", time_formatted)
출력:
Formatted Date: 2019-04-08 19:40:20
이 형식 외에도 다른 일반적인 날짜 형식은 요일을 포함하는 월의 전체 이름입니다. 그것을 시도해 봅시다.
import time
epoch_time = 1554723620
time_formatted = time.strftime("%A, %B %-d, %Y %H:%M:%S", time.localtime(epoch_time))
print("Formatted Date:", time_formatted)
Formatted Date: Monday, April 8, 2019 19:40:20
단일 문자 만 필요한strftime()
의 또 다른 유용한 형식은 로케일에 대한 일반적인 날짜 및 시간 표현 인%c
입니다.
time_formatted = time.strftime("%c", time.localtime(epoch_time))
print("Formatted Date:", time_formatted)
출력:
Formatted Date: Mon Apr 8 19:40:20 2019
datetime
모듈을 사용하여 Python에서 Epoch를 Datetime으로 변환
datetime
은 시간 관련 함수를 지원하는 Python의 또 다른 모듈입니다. 차이점은time
모듈은 Unix 타임 스탬프에 초점을 맞추고datetime
은 광범위한 날짜 및 시간 함수를 지원하면서time
모듈이 갖는 많은 작업을 계속 지원한다는 것입니다.
datetime
에는 epoch 초 및datetime
객체를 허용하는fromtimestamp()
함수가 있습니다.
이 모듈에 대해 다른 epoch 두 번째 예제를 시도해 보겠습니다.
datetime
은 의도적으로 두 번 반복됩니다. datetime
모듈 내에는fromtimestamp()
함수가있는datetime
객체가 있습니다. date
와time
은datetime
모듈 내의 객체이기도합니다.import datetime
epoch_time = 561219765
time_val = datetime.datetime.fromtimestamp(epoch_time)
print("Date:", time_val)
datetime.datetime
이datetime
모듈 내에서 사용되는 객체 인 경우 코드가 중복되지 않도록 모듈에서 가져옵니다.
from datetime import datetime
출력:
Date: 1987-10-14 22:22:45
날짜 시간을 다른 형식으로 변환하기 위해datetime()
에는time.strftime()
과 동일한 기능을 제공하는 유틸리티 함수strftime()
도 있습니다.
import datetime
epoch_time = 561219765
time_formatted = datetime.datetime.fromtimestamp(epoch_time).strftime(
"%A, %B %-d, %Y %H:%M:%S"
)
print("Formatted Date:", time_formatted)
출력:
Formatted Date: Wednesday, October 14, 1987 22:22:45
요약하면, 파이썬에서 epoch를 datetime
형식으로 변환하는 두 가지 주요 방법입니다. time
과datetime
모듈은 모두 날짜 시간 변환에 편리하게 사용할 수있는 함수를 제공합니다.
두 모듈 모두 날짜 형식을 지정하는 편리한 방법 인strftime()
함수를 가지고 있습니다.
다음은strftime()
을 사용하여 날짜 형식을 맞춤 설정할 수 있도록 Python의 datetime 형식에 익숙해지는 참조입니다.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedIn