오늘은 파이썬에서 시간과 날짜 처리하기 주제를 쉽고 친절하게 알려드릴게요. 파이썬을 배우다 보면 날짜와 시간을 다뤄야 할 일이 정말 많죠? 이 글에서는 시간과 날짜를 파이썬에서 효과적으로 처리하는 방법을 모든 분들이 이해하기 쉽게 설명해드릴 거예요. 다양한 코드 예제와 함께, 실무에서 바로 쓸 수 있는 꿀팁들까지 아낌없이 알려드릴 테니 끝까지 함께해 주세요! 여러분의 파이썬 실력이 한 단계 업그레이드될 거예요.
[목차]
파이썬 날짜/시간 처리의 기본: datetime 모듈
파이썬에서 날짜와 시간을 다루는 가장 기본적인 방법은 datetime 모듈을 이용하는 거예요. datetime은 날짜와 시간 계산, 포맷 변환 등에 정말 강력하답니다.
아래 표는 datetime 모듈에서 자주 쓰이는 클래스와 설명이에요.
| 클래스명 | 설명 |
|---|---|
| datetime | 날짜와 시간을 모두 표현 (연,월,일,시,분,초) |
| date | 날짜만 표현 (연,월,일) |
| time | 시간만 표현 (시,분,초) |
| timedelta | 날짜/시간의 차이(간격)를 표현 |
자, 이제 datetime의 기본 사용법을 살펴볼까요?
- 현재 날짜와 시간 구하기
- 특정 날짜/시간 객체 만들기
- 날짜/시간 구성요소 추출하기
- 간단한 계산 및 비교
이렇게 datetime 모듈을 잘 익혀두면, 데이터 분석이나 자동화 작업에서 정말 큰 도움이 돼요.
datetime으로 날짜와 시간 다루기 실전 예제
이제 실제 코드로 datetime을 어떻게 쓰는지 알아볼까요?
아래는 주요 예제 코드와 설명이에요.
| 예제 | 설명 |
|---|---|
datetime.now() |
현재 날짜와 시간 반환 |
datetime(2023,5,1,12,0,0) |
2023년 5월 1일 12시 0분 0초 객체 생성 |
dt.year |
연도 추출 |
dt.strftime('%Y-%m-%d') |
날짜를 문자열로 포맷 |
예제 코드를 활용하면 파이썬에서 시간과 날짜 처리하기가 정말 쉬워진답니다!
- 현재 시간 출력 :
print(datetime.now()) - 날짜 차이 계산 :
delta = d2 - d1 - 포맷 변경 :
dt.strftime('%Y-%m-%d %H:%M:%S') - 요일 구하기 :
dt.weekday()
매번 문서 찾아보지 않아도 될 정도로 익숙해질 수 있어요.
날짜와 시간의 포맷 변환 완벽 정복
실무에서는 날짜와 시간을 다양한 포맷으로 바꿔야 할 때가 많아요. datetime 객체를 문자열로 포맷하거나, 문자열을 다시 datetime으로 바꾸는 방법을 꼭 알아야 해요.
아래 표에서 주요 포맷 코드를 한눈에 볼 수 있어요.
| 포맷 코드 | 의미 | 예시 |
|---|---|---|
| %Y | 4자리 연도 | 2024 |
| %m | 월 (2자리) | 06 |
| %d | 일 (2자리) | 18 |
| %H | 시 (24시간제) | 15 |
| %M | 분 | 27 |
| %S | 초 | 45 |
strftime()과 strptime() 함수로 자유롭게 변환할 수 있어요.
- datetime → 문자열 :
dt.strftime('%Y-%m-%d') - 문자열 → datetime :
datetime.strptime('2024-06-18','%Y-%m-%d') - 다양한 날짜 포맷 처리 가능
이렇게 포맷 코드만 기억하면 어떤 날짜/시간도 맘대로 변환할 수 있어요!
timedelta로 날짜·시간 계산하기
날짜와 시간 계산에서 timedelta 객체만큼 유용한 도구는 없어요. 두 날짜의 차이를 구하거나, 며칠 후/전의 날짜를 알고 싶을 때 필수랍니다.
아래 표는 timedelta 주요 기능을 정리한 거예요.
| 메서드/용도 | 예시 | 설명 |
|---|---|---|
| timedelta(days=7) | 7일 후/전 계산 | 1주일 더하거나 빼기 |
| timedelta(hours=3) | 3시간 더하기 | 시차 계산 등에 활용 |
| (d2-d1).days | 날짜 간격(일수) | 며칠 차이인지 구함 |
실제로 timedelta를 이렇게 쓸 수 있어요!
- 오늘 기준 일주일 후 :
today + timedelta(days=7) - 기간 차이 계산 :
delta = d2 - d1 - 특정 시간 더하기 :
dt + timedelta(hours=2) - 음수도 가능 :
dt - timedelta(days=3)
timedelta를 활용하면 복잡한 날짜 계산도 손쉽게 해결할 수 있답니다!
실전 꿀팁: 시간대, 타임스탬프, 캘린더 등 추가 기능
여기까지 배웠다면 파이썬에서 시간과 날짜 처리하기의 기본은 완벽히 익힌 거예요. 하지만 실무에서는 시간대(타임존)나 타임스탬프, 달력 등 추가 기능도 많이 쓰여요.
아래는 유용한 추가 모듈/기능을 정리한 표예요.
| 기능 | 모듈/메서드 | 예시 |
|---|---|---|
| 타임스탬프 변환 | timestamp(), fromtimestamp() | UNIX 시간 변환 |
| 시간대 처리 | pytz, zoneinfo | UTC, KST 등 타임존 변환 |
| 달력 기능 | calendar 모듈 | 월별 달력 출력 등 |
여기서 타임존 처리는 글로벌 서비스에서 정말 중요하답니다.
- datetime.timestamp() : datetime → 타임스탬프
- datetime.fromtimestamp() : 타임스탬프 → datetime
- pytz, zoneinfo로 시간대 변환
- calendar.month()로 달력 출력 가능
이런 확장 기능을 익혀두면 파이썬의 시간/날짜 처리 실력이 완전히 달라질 거예요!
지금까지 파이썬에서 시간과 날짜 처리하기에 대해 정말 자세히 살펴봤어요. datetime, timedelta, 그리고 포맷 변환까지, 중요한 개념과 실무 팁을 모두 담았으니 여러 번 읽어보시길 추천드려요.
아래 리스트로 핵심 요약도 확인해 보세요!
- datetime 모듈로 날짜/시간 다루기
- 포맷 변환은 strftime, strptime 활용
- timedelta로 날짜 연산 OK
- 타임스탬프, 시간대, 달력 등 확장 기능도 익혀두기
이제 여러분도 파이썬에서 시간과 날짜 처리하기 마스터! 궁금한 점이 있으면 언제든 댓글로 물어봐 주세요. 여러분의 파이썬 실력을 항상 응원할게요!