두 날짜를 어떻게 비교하나요?
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
'programing' 카테고리의 다른 글
웹 개발자용 Linux 프리 인스톨 (0) | 2022.09.18 |
---|---|
MySQL 데이터베이스에 연결하는 방법 (0) | 2022.09.18 |
x축 또는 y축을 반전하는 방법 (0) | 2022.09.15 |
포크와 exec의 차이점 (0) | 2022.09.15 |
필드당 여러 GSON @SerializedName? (0) | 2022.09.15 |