문자열을 UTC로 변환하기

hyuckhoon.ko·2021년 6월 25일
0

What I learned in first year

목록 보기
88/146

1. 문자열로 된 한국 시간을 UTC로 변환

Order의 created_at 변경하기


import datetime
import pytz

# 문자열
kst_str = "2021-06-21 16:48:23"
# 문자열 -> datetime.datetime 타입
kst_naive = datetime.datetime.strptime(kst_str, "%Y-%m-%d %H:%M:%S")

# 한국 시간으로 타임존 설정
korea_timezone = pytz.timezone("Asia/Seoul")
# (KST)naive -> (KST)aware로 변환
korea_datetime = korea_timezone.localize(kst_naive, is_dst=None)
# DB에 저장하기 위해 UTC 시간으로 변환
utc_aware = korea_datetime.astimezone(pytz.utc)

결과 값

datetime.datetime(2021, 6, 21, 7, 48, 23, tzinfo=<UTC>)






2. ORM 실행 결과

order = Order.objects.get(id=297)
order.created_at
>> datetime.datetime(2021, 6, 25, 9, 28, 19, 891500, tzinfo=<UTC>)

order.created_at = utc_aware
order.save()
>>datetime.datetime(2021, 6, 21, 7, 48, 23, tzinfo=<UTC>)



0개의 댓글