[python] 두 날짜를 비교하는 방법?

파이썬을 사용하여 두 날짜를 비교하여 나중에 어떤 날짜를 확인합니까?

예를 들어, 현재 날짜가 휴일 목록에서 작성중인이 목록의 마지막 날짜를 지 났는지 확인하여 자동으로 이메일을 보내 관리자에게 holiday.txt 파일을 업데이트하도록 지시합니다.



답변

datetime방법과 연산자 <및 그 친족을 사용하십시오 .

>>> from datetime import datetime, timedelta
>>> past = datetime.now() - timedelta(days=1)
>>> present = datetime.now()
>>> past < present
True
>>> datetime(3000, 1, 1) < present
False
>>> present - datetime(2000, 4, 4)
datetime.timedelta(4242, 75703, 762105)


답변

사용하다 time

초기 날짜가 다음과 같은 문자열이라고 가정 해 봅시다.
date1 = "31/12/2015"
date2 = "01/01/2016"

다음을 수행 할 수 있습니다
newdate1 = time.strptime(date1, "%d/%m/%Y")newdate2 = time.strptime(date2, "%d/%m/%Y")파이썬의 날짜 형식으로 변환 할 수 있습니다. 그런 비교는 분명하다 :

newdate1 > newdate2리턴 False
newdate1 < newdate2돌아갑니다True


답변

datetime.date(2011, 1, 1) < datetime.date(2011, 1, 2)을 반환 True합니다.

datetime.date(2011, 1, 1) - datetime.date(2011, 1, 2)을 반환 datetime.timedelta(-1)합니다.

datetime.date(2011, 1, 1) + datetime.date(2011, 1, 2)을 반환 datetime.timedelta(1)합니다.

문서를 참조하십시오 .


답변

다른 답변을 사용하여 datetime 하고 비교하는 것도 날짜없이 시간 동안 만 작동합니다.

예를 들어, 지금 오전 8시 이상인지 확인하려면 다음을 사용할 수 있습니다.

import datetime

eight_am = datetime.time( 8,0,0 ) # Time, without a date

그리고 나중에 다음과 비교하십시오.

datetime.datetime.now().time() > eight_am  

이것은 돌아올 것이다 True


답변

두 날짜 차이로 요일을 계산하려면 다음과 같이하십시오.

import datetime
import math

issuedate = datetime(2019,5,9)   #calculate the issue datetime
current_date = datetime.datetime.now() #calculate the current datetime
diff_date = current_date - issuedate #//calculate the date difference with time also
amount = fine  #you want change

if diff_date.total_seconds() > 0.0:   #its matching your condition
    days = math.ceil(diff_date.total_seconds()/86400)  #calculate days (in 
    one day 86400 seconds)
    deductable_amount = round(amount,2)*days #calclulated fine for all days

기한이 1 초 이상인 경우에는 청구해야합니다.


답변