PYTHON · 기초 문법
날짜/시간
datetime 모듈로 날짜와 시간을 다루는 기본 방법입니다. 생성, 포맷, 연산을 포함합니다.
기초 문법중급datetime날짜시간timedeltatimezone
핵심 설명
datetime 모듈로 날짜와 시간을 다루는 기본 방법입니다. 생성, 포맷, 연산을 포함합니다.
Python code
from datetime import datetime, date, timedelta, timezone
# 현재 시간
now = datetime.now()
print(f"현재: {now:%Y-%m-%d %H:%M:%S}")
# 특정 날짜 생성
birthday = date(2000, 3, 15)
print(f"생일: {birthday:%Y년 %m월 %d일}")
# 날짜 연산
delta = date.today() - birthday
print(f"태어난 지 {delta.days}일")
future = datetime.now() + timedelta(days=30, hours=5)
print(f"30일 5시간 후: {future:%Y-%m-%d %H:%M}")
# UTC 시간대
utc_now = datetime.now(timezone.utc)
kst = timezone(timedelta(hours=9))
kst_now = utc_now.astimezone(kst)
print(f"한국 시간: {kst_now:%H:%M:%S %Z}")학습 팁
시간대를 다룰 때는 항상 timezone-aware datetime을 사용하세요. naive datetime은 시간대 변환 시 버그의 원인이 됩니다.
주의할 점
datetime.now()는 시간대 정보가 없는 naive datetime을 반환합니다. 서버 간 통신에는 datetime.now(timezone.utc)를 사용하세요.
자주 묻는 질문
날짜/시간란 무엇인가요?
datetime 모듈로 날짜와 시간을 다루는 기본 방법입니다. 생성, 포맷, 연산을 포함합니다.
날짜/시간 학습 시 주의할 점은 무엇인가요?
datetime.now() 는 시간대 정보가 없는 naive datetime을 반환합니다. 서버 간 통신에는 datetime.now(timezone.utc) 를 사용하세요.