>백엔드 개발 >파이썬 튜토리얼 >Python에서 순진한 날짜/시간 개체를 시간대 인식 개체로 어떻게 변환할 수 있나요?

Python에서 순진한 날짜/시간 개체를 시간대 인식 개체로 어떻게 변환할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-25 20:18:11237검색

How Can I Convert a Naive Datetime Object to a Timezone-Aware Object in Python?

순진한 날짜/시간 객체를 시간대 인식으로 변환

Python에서 날짜/시간 객체는 시간대를 인식하거나 시간대를 인식할 수 있습니다. 시간대 인식 datetime 객체에는 특정 시간대에 대한 참조가 포함되지만, 시간대 기반 datetime 객체는 그렇지 않습니다.

시간대 인식 객체와 시간대 인식 datetime 객체를 비교할 때 다음 사항을 이해하는 것이 중요합니다.

  1. astimezone(): 이 메서드는 표준 시간대를 기본으로 변환하려고 시도합니다. datetime 객체를 시간대 인식 datetime 객체로 변환합니다. 그러나 제공된 코드 조각에서 볼 수 있듯이 순진한 날짜/시간 개체에는 적용할 수 없습니다.
  2. replace(): 바꾸기 메서드는 다음을 포함하여 날짜/시간 개체의 값을 바꾸기 위해 인수를 사용합니다. tzinfo 필드. 이 방법을 사용하면 tzinfo 필드를 원하는 시간대로 설정할 수 있습니다. 그러나 코드 블록에 표시된 것처럼 교체는 datetime 객체가 시간대를 자동으로 인식하도록 만들지 않습니다.

순진한 datetime 객체를 시간대 인식 객체로 올바르게 변환하려면 localize를 사용하세요. () 메서드:

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = pytz.utc.localize(unaware)

localize 메서드는 순진한 날짜/시간 개체와 특정 시간대를 인수로 사용합니다. 원래 날짜/시간 값을 유지하면서 시간대를 인식하는 새로운 날짜/시간 객체를 반환합니다.

UTC와 같이 일광 절약 시간 계산을 포함하지 않는 특정 시간대의 경우 다음 접근 방식을 사용할 수도 있습니다.

import datetime
import pytz

unaware = datetime.datetime(2011, 8, 15, 8, 15, 12, 0)
aware = unaware.replace(tzinfo=pytz.UTC)

이 경우 교체는 tzinfo 필드를 지정된 시간대로 직접 설정하여 시간대를 인식하는 날짜/시간이 됩니다. 개체입니다.

위 내용은 Python에서 순진한 날짜/시간 개체를 시간대 인식 개체로 어떻게 변환할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.