>백엔드 개발 >파이썬 튜토리얼 >Python에서 시간대 오프셋이 있는 타임스탬프를 DateTime 개체로 변환하는 방법은 무엇입니까?

Python에서 시간대 오프셋이 있는 타임스탬프를 DateTime 개체로 변환하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-29 19:37:11969검색

How to Convert Timestamps with Timezone Offsets to DateTime Objects in Python?

strptime을 사용하여 오프셋이 있는 타임스탬프를 날짜/시간 객체로 변환

문제

"2012-07-24T23:14:29- 형식의 타임스탬프 변환 07:00"을 strptime()을 사용하여 날짜/시간 객체로 변환할 수 있습니다. 마지막 시간 오프셋(-07:00)으로 인해 문제가 발생할 수 있습니다. 오프셋 없이 다음과 같이 strptime()을 사용할 수 있습니다.

time_str = "2012-07-24T23:14:29"
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S')

그러나 제공된 시간 오프셋을 사용하면 'z' 지시문이 지원되지 않아 ValueError가 발생합니다.

해결 방법

두 가지 기본 해결 방법이 있습니다:

1. strptime()을 사용하여 시간대 무시:

분석하기 전에 타임스탬프에서 시간대 부분을 제거합니다:

time_obj = datetime.datetime.strptime(time_str[:19], '%Y-%m-%dT%H:%M:%S')

2. dateutil.parser 사용:

dateutil 모듈은 시간대를 지원하는 구문 분석 기능을 제공합니다.

from dateutil.parser import parse
time_obj = parse(time_str)

Python 3.2 이상

Python 버전 3.2 이상 , 시간대 지원이 향상되었습니다. %z는 다음과 같이 형식 문자열을 조정한 후 작동합니다.

  • 형식 문자열에서 마지막 콜론을 제거합니다.
  • %z 지정자 앞의 '-'를 제거합니다.
time_obj = datetime.datetime.strptime(time_str, '%Y-%m-%dT%H:%M:%S%z')

위 내용은 Python에서 시간대 오프셋이 있는 타임스탬프를 DateTime 개체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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