반응형

Unix UTC 시간 변환 - datetime, utcfromtimestamp
들어가며
해외에서 오픈 API를 활용하여 데이터를 다운로드하면 시간 데이터 값이 10자리 숫자로 표현되어 있는 것을 확인할 수 있습니다. 아래 이미지는 OpenWeather에서 날씨 데이터를 API로 수집한 결과인데, sunrise와 sunset 컬럼의 시간이 10자리 숫자로 표현되어 있습니다. 이 시간은 Unix UTC 시간으로 Unix 시스템에서 시간을 표현하는 방식 중 하나입니다. 1970년 1월 1일 00:00:00 UTC(협정 세계시)부터의 경과 시간을 초 단위로 나타낸 값입니다. 이 시간을 Unix 타임스탬프라고 부릅니다. 이 글에서는 Unix 시간을 일반적인 시간으로 변환하는 방법을 파이썬을 활용하여 설명합니다.

- Unix 시간 변환
- Unix 시간 변환 함수 생성
- 전체 코드
Unix 시간 변환
먼저 필요한 패키지를 import합니다.
import datetime
Unix 시간 변환은 datetime의 utcfromtimestamp를 사용합니다. 결과는 다음과 같습니다.
sunrise = 1722976866
sunrise_conv = datetime.datetime.utcfromtimestamp(sunrise)
sunrise_conv

위의 sunrise_conv를 string으로 변환하면 다음과 같습니다.
sunrise_conv = sunrise_conv.strftime('%Y-%m-%d %H:%M:%S')
sunrise_conv

반응형
Unix 시간 변환 함수 생성
Unix 시간을 일반적인 시간대로 변환하는 함수를 만들어보겠습니다. def를 활용하여 사용자 정의 함수를 생성하면, 반복 작업 없이 편리하게 변환할 수 있습니다.
def unix_conv(unix_time):
dt = datetime.datetime.utcfromtimestamp(unix_time)
dt = dt.strftime('%Y-%m-%d %H:%M:%S')
return dt
sunrise = 1722976866
print(unix_conv(sunrise))
생성함 함수를 사용하여 데이터프레임에 직접 적용할 수도 있습니다.
df['sunrise_conv'] = df['sunrise'].apply(unix_conv)
df['sunset_conv'] = df['sunset'].apply(unix_conv)
df

전체 코드
# Unix 시간 변환
import datetime
sunrise = 1722976866
sunrise_conv = datetime.datetime.utcfromtimestamp(sunrise)
sunrise_conv = sunrise_conv.strftime('%Y-%m-%d %H:%M:%S')
print(sunrise_conv)
# Unix 시간 변환 함수 생성
def unix_conv(unix_time):
dt = datetime.datetime.utcfromtimestamp(unix_time)
dt = dt.strftime('%Y-%m-%d %H:%M:%S')
return dt
print(unix_conv(sunrise))
# 데이터프레임 적용
df['sunrise_conv'] = df['sunrise'].apply(unix_conv)
df['sunset_conv'] = df['sunset'].apply(unix_conv)
df
반응형
'Python' 카테고리의 다른 글
[파이썬] 패키지 설치 자동화 스크립트 - subprocess, importlib (0) | 2025.04.07 |
---|---|
[파이썬] 피벗 테이블 멀티 인덱스 해제 (4) | 2025.04.06 |
[파이썬] 파일 이동, 폴더 변경 - shutil (4) | 2025.04.04 |
[파이썬] datetime 타입 변환/ 날짜 요소 추출(dt)/ 현재 날짜, 시간 표현 (2) | 2025.04.04 |
[파이썬] 내장함수 str - len, split, replace (0) | 2025.04.03 |