strftime을 사용하여 Python 날짜 시간을 Epoch로 변환
원래 목표는 strftime을 사용하여 UTC 시간을 에포크 이후의 초 수로 변환하는 것이었습니다. strftime. 그러나 '%s' 형식으로 strftime을 사용하면 결과 값이 예상 에포크 수와 1시간 정도 달랐습니다. 이러한 불일치를 조사한 결과 strftime은 시스템 시간을 통합하고 시간대 차이를 조정하는 것으로 나타났습니다. 비록 datetime은 순진한 것으로 여겨집니다.
해결책
이 문제를 극복하려면 다음을 고려하십시오. 다음 대안:
Python 3.3 이상
datetime의 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') 방지
datetime은 strftime에 대한 '%s' 형식 지정자를 공식적으로 지원하지 않는다는 점에 유의하는 것이 중요합니다. 현재 기능은 시간대 차이를 조정하는 시스템의 strftime 구현과의 상호 작용으로 인해 발생합니다. strftime('%s')을 사용하면 잠재적인 시간대 변화로 인해 일관성 없는 결과가 발생할 수 있습니다.
위 내용은 strftime(\'%s\')을 사용하지 않고 Python datetime 객체를 Epoch 시간으로 정확하게 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!