본문 바로가기
파이썬

파이썬 Django : datetime 객체가 생성 된 시간대를 인식하도록 만드는 방법은 무엇입니까?

by º기록 2020. 12. 22.
반응형

원격 서버에서 해조 데이터를 요청하는 프로그램을 실행하고 있습니다. 이 조수 데이터의 시간 날짜 는 내 컴퓨터의 현지 시간대를 기준으로 계산됩니다. 이 지역 날짜와 시간을 사용하여 datetime 개체를 만들고 Django 모델에 저장합니다.

datetime_obj = datetime(loc_year, loc_month, loc_date, loc_hour, loc_minute)

Django에 게시하기 전에 datetime 개체가 로컬 시간대를 기반으로 생성되었음을 인식하도록하려면 어떻게해야합니까?

게시하기 전에 다음과 같이 보이기를 원할 것 같습니다.

datetime_obj = datetime(loc_year, loc_month, loc_date, loc_hour, loc_minute, loc_timezone)

내 컴퓨터의 현지 시간대를 동적으로 가져 오려면 어떻게해야합니까? 그리고 모든 사용자가 자신의 현지 시간대로 변환 된 시간을 볼 수 있도록하는 방법입니다.

 

해결 방법

 




from django.utils.timezone import make_aware

naive = datetime(loc_year, loc_month, loc_date, loc_hour, loc_minute)
make_aware(naive)  # current timezone, or...
make_aware(naive, timezone=pytz.timezone("Europe/Helsinki"))  # ...specific timezone



현재 시간대는 번역의 현재 로케일과 동일합니다. 그러나 Django가 사용자의 시간대를 자동으로 결정하는 데 사용할 수있는 Accept-Language HTTP 헤더에 해당하는 것은 없습니다. 대신 Django는 시간대 선택 기능을 제공합니다. 이를 사용하여 자신에게 적합한 시간대 선택 로직을 구축하십시오.

지침은 해당 예제를 참조하십시오.

 

참조 페이지 https://stackoverflow.com/questions/22108634

 

 

반응형

댓글