파이썬에서 시간 및 날짜 관련 함수는 time 모듈과 datetime 모듈을 활용하여 쉽게 다룰 수 있다.
- time 모듈 → 프로그램 실행 시간을 측정할 때 사용
- datetime 모듈 → 날짜 계산 및 포맷 변환할 때 사용
이번 포스트에서는 시간 함수 활용법과 백준 10699번 문제 풀이를 해보겠다.
📌 time 모듈 – 실행 시간 측정하기
프로그램의 실행 시간을 측정하고 싶다면 time.time() 함수를 사용할 수 있다.
✅ 실행 시간 측정 코드
import time
st = time.time() # 시작 시간 기록
# 프로그램 실행 (예: 1초 대기)
time.sleep(1)
end = time.time() # 종료 시간 기록
diff = end - st # 실행 시간 계산
print(f"프로그램 작동시간: {diff:.5f} sec") # 소수점 5자리까지 출력
✅ 실행 예시
프로그램 작동시간: 1.00107 sec
📌 datetime 모듈 – 날짜 차이 계산하기
날짜 차이를 계산할 때는 datetime.date 객체를 사용하면 편리하다.
✅ 특정 날짜부터 오늘까지 경과 일수 계산
import datetime as dt
stdt = dt.date(2024, 5, 1) # 시작 날짜
eddt = dt.date.today() # 오늘 날짜
diff = eddt - stdt
print(f"{diff.days}일 지남")
✅ 실행 예시
35일 지남
📌 timedelta – 특정 날짜 계산하기
특정 날짜를 기준으로 며칠 전/후를 계산하려면 timedelta 객체를 사용한다.
✅ 특정 날짜 이후 및 이전 날짜 계산
import datetime as dt
nowdate = dt.date.today() # 오늘 날짜
diff = dt.timedelta(days=20) # 20일 차이
print(f"오늘부터 {diff.days}일 지나면 {nowdate + diff} 입니다.")
print(f"오늘부터 {diff.days}일 이전은 {nowdate - diff} 입니다.")
✅ 실행 예시
오늘부터 20일 지나면 2024-06-25 입니다.
오늘부터 20일 이전은 2024-05-16 입니다.
🔹 timedelta 인자 목록
dt.timedelta(days=0, seconds=0, microseconds=0,
milliseconds=0, minutes=0, hours=0, weeks=0)
- days → 일 단위 차이
- weeks → 주 단위 차이
- hours, minutes, seconds → 시간 단위 차이
📌 날짜 문제 연습 – 백준 10699번 문제 풀이
📌 문제 설명
서울의 오늘 날짜를 출력하는 프로그램을 작성하시오.
입력은 없다.
출력
서울의 오늘 날짜를 "YYYY-MM-DD" 형식으로 출력한다.
✅ 코드 예제
import datetime as dt
now = dt.datetime.now() # 현재 날짜 및 시간 가져오기
today = now.strftime('%Y-%m-%d') # YYYY-MM-DD 형식으로 변환
print(today)
✅ 실행 예시
2024-06-05
🔹 strftime() 날짜 포맷 변환
- %Y → 연도(4자리)
- %m → 월(2자리)
- %d → 일(2자리)
📌 정리
기능 | 모듈 | 사용 함수 |
실행 시간 측정 | time | time.time() |
날짜 차이 계산 | datetime | datetime.date() |
특정 날짜 계산 | datetime | datetime.timedelta() |
오늘 날짜 출력 | datetime | datetime.datetime.now() |
☞ 파이썬 자습서 참고 사이트
datetime — Basic date and time types
Source code: Lib/datetime.py The datetime module supplies classes for manipulating dates and times. While date and time arithmetic is supported, the focus of the implementation is on efficient attr...
docs.python.org
'코딩라이브러리 > 파이썬' 카테고리의 다른 글
백준 1003 피보나치 함수, 다이나믹 프로그래밍 DP (with 파이썬) (0) | 2024.06.13 |
---|---|
파이썬 윤년 계산하기 (with 백준 2753) (1) | 2024.06.07 |
백준 2164 큐, deque 연습 (0) | 2024.05.31 |
파이썬 스택, 큐 deque (with 백준 18258) (0) | 2024.05.30 |
파이썬 중복제거 set 집합함수 (with 백준 2776) (0) | 2024.05.29 |