strftime을 사용하여 Python Datetime을 Epoch로 변환
strftime('% s') 형식을 사용하면 예기치 않은 결과가 발생할 수 있습니다. epoch의 올바른 초 수 대신 1시간씩 다른 값을 얻을 수 있습니다. 이는 strftime이 시스템 시간대를 고려하고 시간대 이동을 적용하기 때문입니다.
해결책:
이 문제를 방지하고 올바른 에포크 타임스탬프를 얻으려면 몇 가지 옵션을 사용할 수 있습니다. :
Python 3.3 이상:
timestamp() 메서드 사용:
>>> datetime.datetime(2012, 4, 1, 0, 0).timestamp() 1333234800.0
Python 3.2 이하:
명시적으로 변환 수행:
>>> (datetime.datetime(2012, 4, 1, 0, 0) - datetime.datetime(1970, 1, 1)).total_seconds() 1333238400.0
사용 금지 strftime('%s'):
%s는 Python의 strftime 함수에서 공식적으로 지원되지 않는다는 점에 유의하는 것이 중요합니다. 해당 기능은 시스템의 strftime 구현에 따라 달라지며, 이는 플랫폼마다 다를 수 있고 시간대 불일치가 발생할 수 있습니다. 따라서 정확한 에포크 타임스탬프 변환을 위해서는 위에서 언급한 방법을 사용하는 것이 좋습니다.
위 내용은 Python Datetime 객체를 Epoch 타임스탬프로 정확하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!