Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 날짜에 산술 연산을 수행하는 방법은 무엇입니까?


timedelta 객체를 사용하여 Python에서 날짜 및 시간 수학을 수행하는 것은 매우 쉽습니다. 날짜/시간에 더하거나 뺄 때마다 datetime.datetime()을 사용한 다음 datetime.timedelta() 인스턴스를 더하거나 뺍니다. timedelta 개체는 기간, 즉 두 날짜 또는 시간의 차이를 나타냅니다. timedelta 생성자는 다음과 같은 함수 서명을 가집니다 -

datetime.timedelta([days[, seconds[, microseconds[, milliseconds[, minutes[, hours[, weeks]]]]]]])

참고 - 모든 인수는 선택 사항이며 기본값은 0입니다. 인수는 int, long 또는 float가 될 수 있으며 양수 또는 음수일 수 있습니다. https://docs.python.org/2/library/datetime.html#timedelta-objects

에서 자세한 내용을 읽을 수 있습니다.

예시

timedelta 개체와 날짜를 사용하는 예 -

import datetime
old_time = datetime.datetime.now()
print(old_time)
new_time = old_time - datetime.timedelta(hours=2, minutes=10)
print(new_time)

출력

이것은 출력을 줄 것입니다 -

2018-01-04 11:09:00.694602
2018-01-04 08:59:00.694602

datetime.time() 객체에는 timedelta() 산술이 지원되지 않습니다. 기존 datetime.time() 객체의 오프셋을 사용해야 하는 경우 datetime.datetime.combine()을 사용하여 datetime.datetime() 인스턴스를 만들고 계산을 수행한 다음 .time으로 시간을 다시 '추출'하십시오. () 메서드.

2개의 datetime 객체를 빼면 timedelta 객체가 생성됩니다. 이 timedelta 개체는 두 날짜/시간 간의 정확한 차이를 찾는 데 사용할 수 있습니다.

예시

t1 = datetime.datetime.now()
t2 = datetime.datetime.now()
print(t1 - t2)
print(type(t1 - t2))

출력

이것은 출력을 줄 것입니다 -

-1 day, 23:59:56.653627
<class 'datetime.timedelta'>