You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
datetime 을 사용하면 UTC 나 지역 시간과 같이 여러 시간대에 속한 시간을 상호 변환할 수 있음
fromdatetimeimportdatetime, timezonenow=datetime(2020, 8, 27, 10, 13, 4) # 시간대 설정이 안 된 시간을 만듦now_utc=now.replace(tzinfo=timezone.utc) # 시간대를# UTC로 강제 지정now_local=now_utc.astimezone() # UTC 시간을 디폴트 시간대로 변환print(now_local)
>>>2020-08-2719:13:04+09:00
datetime 모듈로 UTC 로 쉽게 변경 가능
time_str='2020-08-27 19:13:04'now=datetime.strptime(time_str, time_format) # 시간대 설정이 안 된 시간으로 문자열을 구문 분석time_tuple=now.timetuple() # 유닉스 시간 구조체로 변환utc_now=time.mktime(time_tuple) # 구조체로부터 유닉스 타임스탬프 생성print(utc_now)
>>>1598523184.0
datetime 은 자신의 tzinfo 클래스와 이 클래스 안에 있는 메소드에 대해서만 시간대 관련 기능 제공
파이선 기본 설치는 UTC 를 제외한 시간대 정의가 없음
파이선 패키지 관리 도구로 pytz 모듈을 다운로드 받아서 추가 가능
pytz 를 효과적으로 사용하기 위해 항상 지역 시간을 UTC 로 설정 필요
importpytzarrival_sfo='2020-08-28 04:13:04'sfo_dt_naive=datetime.strptime(arrival_sfo, time_format) # 시간대가 설정되지 않은 시간eastern=pytz.timezone('US/Pacific') # 샌프란시스코의 시간대sfo_dt=eastern.localize(sfo_dt_naive) # 시간대를 샌프란시스코 시간대로 변경utc_dt=pytz.utc.normalize(sfo_dt.astimezone(pytz.utc)) # UTC로 변경print(utc_dt)
>>>2020-08-2811:13:04+00:00