반응형
Python으로 자동화나 로그 분석, 시간 기반 데이터 처리 등을 할 때 날짜와 시간 정보는 매우 중요합니다. 이를 위해 Python은 datetime과 time이라는 강력한 내장 모듈을 제공합니다. 이 글에서는 datetime과 time 모듈의 기본 사용법부터 실전 예제까지 초보자도 쉽게 따라 할 수 있도록 자세히 설명하겠습니다. 날짜 포맷, 시간 차이 계산, 현재 시각 출력 등 꼭 알아야 할 핵심 기능들을 정리해보겠습니다.
1. datetime 모듈 기초 사용법
1. 현재 날짜와 시간 얻기
from datetime import datetime
now = datetime.now()
print("현재 날짜와 시간:", now)
실행 결과 (터미널)
현재 날짜와 시간: 2025-03-31 15:24:08.456789
2. 날짜와 시간 포맷 지정 (strftime)
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print("포맷 지정:", formatted)
3. 문자열을 날짜로 변환 (strptime)
date_str = "2025-03-01"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d")
print(parsed_date)
2. 날짜 연산과 timedelta
1. 날짜 차이 계산
from datetime import timedelta
start = datetime(2025, 3, 1)
end = datetime(2025, 3, 31)
diff = end - start
print("날짜 차이:", diff.days, "일")
2. 날짜 더하기/빼기
tomorrow = now + timedelta(days=1)
yesterday = now - timedelta(days=1)
print("내일:", tomorrow.strftime("%Y-%m-%d"))
print("어제:", yesterday.strftime("%Y-%m-%d"))
3. time 모듈 활용하기
1. 현재 시간(타임스탬프)
import time
print("현재 타임스탬프:", time.time())
2. 시간 포맷 변환
t = time.localtime()
print("시간 구조체:", t)
print("포맷:", time.strftime("%Y-%m-%d %H:%M:%S", t))
3. 일정 시간 지연 (sleep)
print("3초 대기 중...")
time.sleep(3)
print("완료!")
4. 타이머 예제
start = time.time()
# 처리할 코드
end = time.time()
print("걸린 시간:", end - start, "초")
4. 실전 예제: D-Day 계산기 만들기
from datetime import datetime
today = datetime.now()
target = datetime(2025, 12, 31)
days_left = (target - today).days
print(f"연말까지 남은 일수: {days_left}일")
실행 결과 (예시)
연말까지 남은 일수: 275일
5. 추가 팁 및 참고 사항
- datetime.utcnow()를 사용하면 UTC 기준의 시간을 얻을 수 있습니다.
- 한국 시간(KST) 처리가 필요하다면 pytz 또는 zoneinfo 모듈을 함께 사용하세요 (Python 3.9+).
- 외부 API와 연동 시 ISO 8601 포맷(예: "2025-03-31T15:24:08")을 자주 사용합니다.
6. 요약 및 마무리
이번 포스팅에서는 Python에서 날짜와 시간을 다루는 datetime과 time 모듈의 주요 기능과 사용법을 정리했습니다. 현재 시각 출력, 날짜 포맷 지정, 날짜 연산, 시간 지연, D-Day 계산 등 실무와 프로젝트에서 자주 활용되는 기능들을 실제 예제를 통해 살펴보았습니다. 날짜와 시간 관련 코드는 정확성과 일관성이 중요하므로, 포맷과 시간대에 특히 유의하며 코드를 작성하는 습관이 중요합니다.
7. 관련 글 링크
- 관련 글: Python에서 파일 읽기/쓰기 기본 사용법 (open, read, write)\
반응형
'파이썬' 카테고리의 다른 글
[Python] 사용자 정의 함수 만들기 (def, 매개변수, return) (1) | 2025.04.05 |
---|---|
[Python] 클래스(class)와 객체(object) 기본 개념 설명하기 (0) | 2025.04.04 |
[Python] try, except 예외 처리 문법과 실전 예제 (0) | 2025.04.04 |
[Python] list, set, tuple, dict 차이점과 선택 기준 (0) | 2025.04.03 |
[Python] 파일 읽기/쓰기 기본 사용법 (open, read, write) (0) | 2025.04.03 |
댓글