"2012-07-24T23:14:29-와 같이 시간 오프셋이 포함된 타임스탬프로 작업하는 경우 07:00," strptime 메서드를 사용하여 Python 날짜/시간 객체로 변환하는 동안 문제가 발생할 수 있습니다. strptime 함수에 지정된 기본 형식은 시간 오프셋을 지원하지 않습니다.
그러나 이 변환을 해결하기 위해 여러 전략을 탐색할 수 있습니다.
그렇다면 시간대 정보를 보존할 필요가 없으므로 변환 중에 이를 무시하도록 선택할 수 있습니다. 타임스탬프 문자열을 분할하여 오프셋을 제외하면 됩니다.
time_str = "2012-07-24T23:14:29-07:00" time_str_no_offset = time_str[:19] # Remove the offset portion time_obj = datetime.datetime.strptime(time_str_no_offset, "%Y-%m-%dT%H:%M:%S") # Convert without offset
대체 솔루션은 dateutil 모듈을 활용하는 것입니다. 오프셋이 있는 타임스탬프를 처리할 수 있는 구문 분석 기능을 제공합니다.
from dateutil.parser import parse time_obj = parse(time_str)
구문 분석 기능은 결과 날짜/시간 객체에 시간대 정보를 자동으로 감지하고 포함합니다.
Python 3.2 이상을 사용하는 경우 시간대 지원이 개선되었습니다. %z 형식 지정자를 사용하여 시간대 오프셋을 포함할 수 있습니다.
time_str = "2012-07-24T23:14:29-07:00" time_obj = datetime.datetime.strptime(time_str, "%Y-%m-%dT%H:%M:%S%z")
형식의 마지막 콜론 문자를 제거해야 하며 오프셋 앞의 하이픈을 더하기 기호 또는 기호로 바꿔야 합니다. 오프셋 방향에 따른 빼기 기호.
이러한 접근 방식을 구현하면 오프셋이 있는 타임스탬프를 Python의 날짜/시간 개체로 효과적으로 변환하여 특정 요구 사항을 수용할 수 있습니다. 요구 사항.
위 내용은 시간 오프셋이 있는 타임스탬프를 Python datetime 객체로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!