Python에서 Epoch를 Datetime으로 변환

Rayven Esplanada 2023년10월10일
  1. time모듈을 사용하여 Python에서 Epoch를 Datetime으로 변환
  2. datetime 모듈을 사용하여 Python에서 Epoch를 Datetime으로 변환
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 객체가 있습니다. datetimedatetime 모듈 내의 객체이기도합니다.
import datetime

epoch_time = 561219765
time_val = datetime.datetime.fromtimestamp(epoch_time)

print("Date:", time_val)

datetime.datetimedatetime 모듈 내에서 사용되는 객체 인 경우 코드가 중복되지 않도록 모듈에서 가져옵니다.

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 형식으로 변환하는 두 가지 주요 방법입니다. timedatetime 모듈은 모두 날짜 시간 변환에 편리하게 사용할 수있는 함수를 제공합니다.

두 모듈 모두 날짜 형식을 지정하는 편리한 방법 인strftime()함수를 가지고 있습니다.

다음은strftime()을 사용하여 날짜 형식을 맞춤 설정할 수 있도록 Python의 datetime 형식에 익숙해지는 참조입니다.

Rayven Esplanada avatar Rayven Esplanada avatar

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

관련 문장 - Python DateTime