본문 바로가기
파이썬

파이썬 두 날짜 사이의 파이썬의 정수 차이

by º기록 2021. 1. 20.
반응형

나는 RTFM을했고 이것에 대해 여기에 많은 질문과 답변을 읽었으며 어제 strftime과 strptime을 행복하게 사용하고 있었으므로 이것이 작동해야한다고 맹세하지만 그렇지 않습니다 ....

정수를 원합니다. "timedelta 객체"가 아닙니다. "인식 아직 해시 할 수있는 객체"가 아닙니다 (I RTFM 참조). 튜플이 아닙니다. 사전이 아닙니다. 단순한 이상한 정수이므로 if 문과 분기를 사용하고 행복 할 수 있습니다. 감사함으로 이것에 당신의 지혜의 빛을 가져 오십시오.

여기에 내가 가진 것

...
import datetime
mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.strptime(mdate, "%Y-%m-%d")
rdate1 = datetime.strptime(rdate, "%Y-%m-%d")
delta =  datetime.timedelta.days(mdate1 - rdate1)

내가 얻는 것은 다음과 같습니다.

pmain.py:4: AttributeError: 'module' object has no attribute 'strptime'
(error hits in the 'mdate1..." line above)

그리고 이것이 내 델타 라인이 작동한다는 의미는 아닙니다. 저것도보세요.

 

해결 방법

 

classmethod datetime.datetime.strptime () 을 가져온 다음 .days attribute 를 결과 timedelta :

import datetime

mdate = "2010-10-05"
rdate = "2010-10-05"
mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
delta =  (mdate1 - rdate1).days

따라서 datetime 모듈이 있습니다.이 모듈에는 datetime.datetime 클래스가 있으며, 차례로 datetime.datetime.strptime () 메서드가 켜집니다. 그것. 또한 .date () 에 대한 호출을 추가하여 날짜 부분을 추출합니다 (결과는 datetime.date 인스턴스입니다). 이렇게하면 24 시간의 배수보다 약간 덜 다른 타임 스탬프를 더 쉽게 처리 할 수 ​​있습니다.

데모:

>>> import datetime
>>> mdate = "2010-10-05"
>>> rdate = "2010-10-05"
>>> mdate1 = datetime.datetime.strptime(mdate, "%Y-%m-%d").date()
>>> rdate1 = datetime.datetime.strptime(rdate, "%Y-%m-%d").date()
>>> delta =  (mdate1 - rdate1).days
>>> print delta
0
>>> type(delta)
<type 'int'>

 

참조 페이지 https://stackoverflow.com/questions/16170737

 

 

반응형

댓글