programing

두 날짜를 어떻게 비교하나요?

copysource 2022. 9. 15. 23:54
반응형

두 날짜를 어떻게 비교하나요?

Python을 사용하여 두 날짜를 비교하여 어떤 날짜가 더 늦은지 확인할 수 있습니까?

예를 들어, 현재 날짜가 이 목록의 마지막 날짜(공휴일 날짜)를 지났는지 확인하고 관리자에게 휴일을 업데이트하라는 이메일을 자동으로 보냅니다.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")

python의 날짜 형식으로 변환합니다.그 결과, 비교는 명백합니다.

  • 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

사용 가능한 가장 쉬운 언어인 python을 사용하여 python 연산자 python에서 날짜를 비교하는 것은 매우 쉽습니다.<,>그리고.==datetime 객체와 잘 어울립니다.python에는 각각 고유한 의미가 있습니다.

  • <날짜가 첫 번째 날짜보다 빠르다는 것을 의미합니다.
  • >날짜가 늦어지는 것을 의미합니다.
  • ==첫 번째 날짜와 동일함을 의미합니다. 따라서 귀하의 경우:
import datetime

date = datetime.datetime(2000, 1, 1) # Replace with whatever you want
now = datetime.datetime.now() # You can even find the current date and time using this expression

if date < now:
    print('past')
elif date > now:
    print('future')
else:
    print('present')
# This would print "past"

두 날짜 차이로 날짜를 계산하는 경우 다음과 같이 할 수 있습니다.

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초가 납기일보다 더 많으면 우리는 요금을 내야 하기 때문이다.

언급URL : https://stackoverflow.com/questions/8142364/how-to-compare-two-dates

반응형