반응형
타임스탬프로 시간이 주어진 데이터가 있는데, 이걸 데이트타임으로 변환하기 위해 다음 두가지 방법을 써 보았는데, 결과가 다르게 나왔다.
import time
import pandas as pd
import datetime
t = time.time() # 1562770422.6544123
dt1 = pd.to_datetime(t, unit='s')
# dt1 = Timestamp('2019-07-10 14:53:42.654412270')
dt2 = datetime.datetime.fromtimestamp(t)
# dt2 = datetime.datetime(2019, 7, 10, 23, 53, 42, 654412)
두 결과의 타입이 조금 다르지만, 그걸 무시하고 봐도, 날짜가 같지만, 시간이 14시와 23시로 차이가 난다.
이결과는,
datetime.fromtimestamp
는 디폴트로 타임존을 고려해서, 로컬타임을 구하지만,pd.to_datetime
은 디폴트로 utc 타임을 구하기 때문에 발생한 것이다.- datetime 으로 구한 것이 9시간만큼 크다. 한국시간은 utc 시간의 기준인 영국시간보다 9시간 빠르다.
이 두가지를 일치시키는 방법은,
datetime.fromtimestamp
에 tz 인자로utc
를 주어, utc 타임을 구하는 방법pd.to_datetime
을 구할 때, 타임존을 고려하도록 하는 방법이 있을 것이다.
728x90
'프로그래밍 > Python' 카테고리의 다른 글
[Python] Matplotlib 그래프에 한글 표시하기 (0) | 2019.10.02 |
---|---|
[Python] Python Profiling 관련 메모 (0) | 2019.07.11 |
[번역] ipywidgets 설치 문서 (0) | 2019.07.03 |
[Python|Jupyter] ipywidgets 관련링크 (0) | 2019.07.02 |
[Python|Jupyter] 노트북(.ipynb)을 nbconvert 로 html 로 변환하다 UnicodeDecodeError 가 발생하였다. (0) | 2019.06.25 |