날짜 함수
Python에서 날짜와 시간을 처리하기 위한 여러 가지 내장 모듈과 함수들이 제공됩니다. 주요 모듈로는 datetime
, time
, calendar
등이 있으며, 가장 자주 사용되는 것은 datetime
모듈입니다. 여기서는 Python에서 날짜와 시간을 다루기 위한 함수와 사용 예제들을 소개합니다.
1. datetime
모듈
datetime
모듈은 날짜와 시간을 처리하기 위한 다양한 클래스를 제공합니다. 이 모듈에는 datetime
, date
, time
, timedelta
, timezone
등의 클래스가 포함되어 있습니다.
1.1 현재 날짜 및 시간 가져오기
from datetime import datetime
# 현재 날짜 및 시간
now = datetime.now()
print(now) # 출력: 2024-10-03 10:30:25.123456
1.2 날짜 및 시간 형식 지정 (strftime
)
strftime()
메서드를 사용하여 날짜와 시간을 다양한 형식으로 변환할 수 있습니다.
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted_date) # 출력: 2024-10-03 10:30:25
서식 문자열 | 설명 |
---|---|
%Y | 4자리 연도 |
%m | 2자리 월 (01 ~ 12) |
%d | 2자리 일 (01 ~ 31) |
%H | 24시간제 시간 (00 ~ 23) |
%M | 분 (00 ~ 59) |
%S | 초 (00 ~ 59) |
1.3 날짜 및 시간 파싱 (strptime
)
strptime()
메서드를 사용하여 문자열을 날짜 객체로 변환할 수 있습니다.
date_str = "2024-10-03 10:30:25"
parsed_date = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(parsed_date) # 출력: 2024-10-03 10:30:25
1.4 날짜와 시간 생성
from datetime import datetime
specific_date = datetime(2024, 10, 3, 10, 30, 25)
print(specific_date) # 출력: 2024-10-03 10:30:25
1.5 날짜와 시간의 연산 (timedelta
)
timedelta
를 사용하여 날짜와 시간 간의 간단한 연산을 할 수 있습니다.
from datetime import timedelta
# 현재 날짜에서 7일 더하기
next_week = now + timedelta(days=7)
print(next_week) # 출력: 2024-10-10 10:30:25.123456
2. date
클래스
datetime
모듈의 date
클래스를 사용하여 날짜만 처리할 수 있습니다.
2.1 현재 날짜
from datetime import date
today = date.today()
print(today) # 출력: 2024-10-03
2.2 날짜 정보 접근
print(today.year) # 출력: 2024
print(today.month) # 출력: 10
print(today.day) # 출력: 3
3. time
클래스
datetime
모듈의 time
클래스를 사용하여 시간만 처리할 수 있습니다.
from datetime import time
specific_time = time(10, 30, 25)
print(specific_time) # 출력: 10:30:25
4. time
모듈
4.1 현재 타임스탬프 가져오기
import time
timestamp = time.time()
print(timestamp) # 출력: 1633261825.123456
4.2 타임스탬프를 로컬 시간으로 변환
local_time = time.localtime(timestamp)
print(local_time) # 출력: time.struct_time(tm_year=2024, tm_mon=10, tm_mday=3, ...)
5. calendar
모듈
5.1 특정 달의 달력 출력
import calendar
cal = calendar.month(2024, 10)
print(cal)
출력:
October 2024
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
6. pytz
모듈을 이용한 시간대 처리
시간대(Timezone)를 처리하려면 외부 라이브러리인 pytz
를 사용해야 합니다. 이 모듈을 사용하면 다양한 시간대로의 변환을 간편하게 할 수 있습니다.
6.1 시간대 변환
from datetime import datetime
import pytz
# 현재 시간 가져오기
now = datetime.now(pytz.utc)
print(now) # 출력: 현재 UTC 시간
# 특정 시간대로 변환
korea_time = now.astimezone(pytz.timezone('Asia/Seoul'))
print(korea_time) # 출력: 한국 표준시 (KST)
요약
datetime
모듈: 날짜와 시간을 생성, 포맷, 파싱, 연산하는데 가장 일반적으로 사용.time
모듈: 타임스탬프와 관련된 기능을 제공.calendar
모듈: 달력과 관련된 기능을 제공.pytz
모듈: 시간대 변환을 지원.