날짜 함수

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
서식 문자열설명
%Y4자리 연도
%m2자리 월 (01 ~ 12)
%d2자리 일 (01 ~ 31)
%H24시간제 시간 (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 모듈: 시간대 변환을 지원.

댓글 쓰기

댓글 목록