내 현지 시간 (유럽/베를린)에있는 UTC 날짜 시간날짜 시간 모듈과 팬더가 to_datetime 다른 결과 줄은
utc_str = '2017-11-21T23:00+0100'
포함 된 문자열을 가지고 utc_string
에서 얻으려고합니다.
나는 utc_string
잘 사용 local_time
에 변환 할 수 있습니다 : 나는 Pandas
사용할 때
import datetime as dt
utc_time = dt.datetime.strptime(date_str, '%Y-%m-%dT%H:%M%z')
local_time = utc_time.replace(tzinfo=pytz.utc).astimezone(pytz.timezone('Europe/Berlin'))
print(local_time.strftime('%Y-%m-%d %H:%M'))
>>> 2017-11-22 00:00
그러나, 나는 다른 결과를 얻을. 나는 datetime
모듈과 동일한 과정을 수행하려고하면 순진, 결과가 떨어져 여전히
import pandas as pd
pd_date = pd.to_datetime(date_str, utc=True)
print(pd_date.strftime('%Y-%m-%d %H:%M'))
>>> '2017-11-21 22:00'
그리고 :
pd_date = pd.to_datetime(date_str, utc=True)
pd_date = pd_date.replace(tzinfo=pytz.utc).astimezone(pytz.timezone('Europe/Berlin'))
print(pd_date.strftime('%Y-%m-%d %H:%M'))
>>> '2017-11-21 23:00'
인가가이 오프셋 UTC를 적용하지 않는 것 내가 이해하지 못하는 것? pd.to_datetime
또는 다른 오류가 있습니까? 파이썬 3.6, 윈도우 주석에 명시된 바와 같이 7
'2017-11-21T23 : 00 + 0100'은 (는) 시간대를 지정하지 않고 '+ 0100'(유럽/Berlin) 대신 UTC가 필요합니까?UTC의 '22 : 00'입니다 –
올바르게 이해하면 문자열에 잘못 라벨이 지정되거나 utc 형식이 잘못 지정 되었습니까? 그 때 어떤 형태입니까? 그것은 내가 가지고있는 데이터이므로, 어떻게 처리해야하는지 알 필요가 있습니다. –
'replace '를 사용하여 지역 시간을 계산하는 것은 잘못되었습니다. 'astimezone (...)'을 할 수 있습니다. –