파이썬 라이브러리 datetime.timedelta
#005 파이썬 라이브러리 : datetime.timedelta 날짜 간의 차이 및 계산
datetime.timedelta는 기간을 나타내는 데 사용되는 Python 모듈입니다. 날짜와 시간에 대한 산술 연산을 수행하고 주어진 날짜에서 시간을 더하거나 빼며 두 날짜 또는 시간의 차이를 측정할 수 있습니다.
지난 시간에 datetime.timedelta에 대해서 예제에 나온 적이 있지만 이번 시간에 더 자세히 알아보겠습니다.
timedelta 객체 생성
timedelta 객체를 생성하려면 datetime.timedelta() 생성자를 사용할 수 있습니다. 일, 초, 마이크로초, 밀리초, 분, 시간 및 주에 대한 인수를 전달할 수 있습니다.
항목 | 설명 |
days | 일 |
seconds | 초 |
microseconds | 마이크로 초 |
milliseconds | 밀리 초 (1밀리 초는 1000마이크로 초) |
minutes | 분 |
hours | 시간 |
weeks | 주 (7일을 의미함) |
import datetime
# create a timedelta object representing 10 days
td = datetime.timedelta(days=10)
print(td)
# create a timedelta object representing 5 hours
td = datetime.timedelta(hours=5)
print(td)
# create a timedelta object representing 1 week and 3 days
td = datetime.timedelta(weeks=1, days=3)
print(td)
# create a timedelta object representing 2 minutes and 30 seconds
td = datetime.timedelta(minutes=2, seconds=30)
print(td)
▶ 결과
10 days, 0:00:00
5:00:00
10 days, 0:00:00
0:02:30
시간 더하기 및 빼기
"+" 및 "-" 연산자를 사용하여 주어진 날짜 또는 시간에서 timedelta 객체를 사용하여 더하거나 뺄 수 있습니다.
import datetime
# create a datetime object for March 1, 2023 at 12:00:00 PM
dt = datetime.datetime(2023, 3, 1, 12, 0, 0)
# add 1 day to the datetime object
new_dt = dt + datetime.timedelta(days=1)
print(new_dt)
# subtract 5 hours from the datetime object
new_dt = dt - datetime.timedelta(hours=5)
print(new_dt)
# add 1 week and 3 days to the datetime object
new_dt = dt + datetime.timedelta(weeks=1, days=3)
print(new_dt)
# subtract 2 minutes and 30 seconds from the datetime object
new_dt = dt - datetime.timedelta(minutes=2, seconds=30)
print(new_dt)
▶ 결과
2023-03-02 12:00:00
2023-03-01 07:00:00
2023-03-11 12:00:00
2023-03-01 11:57:30
시간의 차이 측정
"-" 연산자를 사용하여 두 날짜 또는 시간의 차이를 측정할 수 있습니다. 그러면 두 날짜 또는 시간 사이의 기간을 나타내는 'timedelta' 개체가 반환됩니다.
import datetime
# create a datetime object for March 1, 2023 at 12:00:00 PM
dt1 = datetime.datetime(2023, 3, 1, 12, 0, 0)
# create a datetime object for March 5, 2023 at 4:30:00 PM
dt2 = datetime.datetime(2023, 3, 5, 16, 30, 0)
# calculate the difference between the two datetime objects
td = dt2 - dt1
# print the difference in days and seconds
print(td) # output: 4 days, 4:30:00
print(td.days) # output: 4
print(td.seconds) # output: 16200
▶ 결과
4 days, 4:30:00
4
16200
시간의 차이는 일자(days0, 초(seconds)로 측정할 수 있다.
다른 것들
기타 다른 옵션들을 살펴봅니다.
total_seconds
total_seconds() 메서드를 사용하여 timedelta 객체가 나타내는 총 초 수를 얻을 수 있습니다.
import datetime
# create a timedelta object representing 2 hours and 30 minutes
td = datetime.timedelta(hours=2, minutes=30)
# get the total number of seconds represented by the timedelta object
total_seconds = td.total_seconds()
print(total_seconds) # output: 9000.0
▶ 결과
9000.0
timedelta 비교하기
표준 비교 연산자(<, <=, ==, >=, >)를 사용하여 두 개의 timedelta 개체를 비교할 수 있습니다.
import datetime
# create two timedelta objects
td1 = datetime.timedelta(days=10)
td2 = datetime.timedelta(days=7)
# compare the two timedelta objects
if td1 > td2:
print('td1 is greater than td2')
else:
print('td2 is greater than or equal to td1')
▶ 결과
td1 is greater than td2
결 론
'datetime.timedelta'는 날짜와 시간에 대한 계산을 수행하고, 주어진 날짜에서 시간을 더하거나 빼며, 두 날짜 또는 시간 사이의 차이를 측정할 수 있는 강력한 모듈입니다. 'timedelta'에서 사용할 수 있는 옵션을 사용하여 필요에 맞게 동작을 사용자 지정할 수 있습니다.
감사합니다.
Do it! SQL을 찾아 주셔서 감사합니다. ♥ 댓글이 큰 힘이 됩니다. |
'IT > 파이썬 라이브러리 (Python)' 카테고리의 다른 글
#007 파이썬 라이브러리 : collections.deque 자료의 양쪽 끝에서 삽입 삭제 (38) | 2023.04.02 |
---|---|
#006 파이썬 라이브러리 : calendar.isleap 윤년 계산 (43) | 2023.04.01 |
#004 파이썬 라이브러리 : datetime.date 날짜 및 요일 계산 (69) | 2023.03.30 |
#003 파이썬 라이브러리 : re 정규 표현식으로 개인정보 보호 (126) | 2023.03.29 |
#002 파이썬 라이브러리 : textwrap.shorten 문자열 축약 표시 (88) | 2023.03.28 |
댓글