라벨이 strptime인 게시물 표시

javascript Date를 python datetime으로 변환

1. 왜 하게 되었는가 프론트(vue.js)에서 firebase realtime database에 단순 Date()로 시간을 저장했는데 이 값을 백(django)에서 불러와서 비교해야 함. => 형식을 맞출 필요 2. 어떻게 하였는가 1) 구글 검색하여 형식을 맞춤. now = datetime.now() python_date = datetime.strptime(js_date, "%a %b %d %Y %H:%M:%S %Z%z (한국 표준시)") 2) timezone naive와 timezone aware 문제 now와 python_date를 비교하려니 timezone문제가 발생. -첫 번째 방법 : 기본 내장된 pytz를 사용하고 parsing을 now를 이용하여 해결. import pytz now = datetime.now(pytz.UTC) python_date = now.strptime(js_date, "%a %b %d %Y %H:%M:%S %Z%z (한국 표준시)") - 두 번째 방법 : django.utils.timezone을 사용 python_date = datetime.strptime(js_date, "%a %b %d %Y %H:%M:%S %Z%z (한국 표준시)").replace(tzinfo=timezone.utc) 3. 참조 - https://docs.python.org/2/library/datetime.html#strftime-and-strptime-behavior - https://stackoverflow.com/questions/8153631/js-date-object-to-python-datetime 4. 좋은 글 - https://8percent.github.io/2017-05-31/django-timezone-problem/ 5. 여담 ISO format으로 저장을 추천. javascript라면 new Date()...