본문 바로가기
파이썬

[Python] 날짜와 시간 다루기 (datetime, time 모듈 사용법)

by JJONY 2025. 4. 4.
반응형

Python으로 자동화나 로그 분석, 시간 기반 데이터 처리 등을 할 때 날짜와 시간 정보는 매우 중요합니다. 이를 위해 Python은 datetime과 time이라는 강력한 내장 모듈을 제공합니다. 이 글에서는 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)\
반응형

댓글