반응형
파이썬에서 날짜와 시간을 다루기 위해 주로 사용되는 모듈은 datetime, time, calendar입니다. 날짜 및 시간을 조작하거나 포맷팅, 차이 계산, 현재 시간 가져오기 등의 작업을 쉽게 처리할 수 있습니다.
1. datetime 모듈 기본 사용
🔹 현재 날짜와 시간 가져오기: datetime.now()
from datetime import datetime
now = datetime.now()
print("현재 날짜와 시간:", now)
결과 예시:
현재 날짜와 시간: 2024-11-11 14:23:45.123456
🔹 특정 날짜와 시간 생성: datetime()
from datetime import datetime
specific_date = datetime(2023, 1, 15, 14, 30, 0) # 년, 월, 일, 시, 분, 초
print("특정 날짜와 시간:", specific_date)
결과:
특정 날짜와 시간: 2023-01-15 14:30:00
🔹 날짜와 시간 포맷팅: strftime()
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("포맷된 날짜와 시간:", formatted_date)
결과:
포맷된 날짜와 시간: 2024-11-11 14:23:45
주요 포맷 코드:
- %Y: 4자리 연도 (2024)
- %m: 2자리 월 (01 ~ 12)
- %d: 2자리 일 (01 ~ 31)
- %H: 24시간 형식의 시 (00 ~ 23)
- %M: 분 (00 ~ 59)
- %S: 초 (00 ~ 59)
🔹 문자열을 날짜로 변환: strptime()
from datetime import datetime
date_string = "2024-11-11 14:23:45"
date_object = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("문자열을 날짜로 변환:", date_object)
결과:
문자열을 날짜로 변환: 2024-11-11 14:23:45
🔹 날짜 차이 계산: timedelta
from datetime import datetime, timedelta
today = datetime.now()
future_date = today + timedelta(days=7) # 7일 후
past_date = today - timedelta(days=7) # 7일 전
print("오늘:", today)
print("7일 후:", future_date)
print("7일 전:", past_date)
결과:
오늘: 2024-11-11 14:23:45
7일 후: 2024-11-18 14:23:45
7일 전: 2024-11-04 14:23:45
2. time 모듈 사용
🔹 현재 시간 가져오기: time.time()
import time
timestamp = time.time()
print("현재 타임스탬프:", timestamp)
결과:
현재 타임스탬프: 1697100245.123456
설명: time.time()은 1970년 1월 1일 00:00:00 UTC부터 현재까지의 초를 반환합니다.
🔹 타임스탬프를 읽기 쉬운 시간으로 변환: time.ctime()
current_time = time.ctime()
print("현재 시간:", current_time)
결과:
현재 시간: Mon Nov 11 14:23:45 2024
🔹 일정 시간 대기: time.sleep()
print("3초 대기 중...")
time.sleep(3)
print("3초 후 출력")
결과:
3초 대기 중...
(3초 후)
3초 후 출력
3. calendar 모듈 사용
🔹 특정 월의 달력 출력: calendar.month()
import calendar
year = 2024
month = 11
print(calendar.month(year, month))
결과:
November 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
🔹 윤년 확인: calendar.isleap()
print("2024년은 윤년인가요?", calendar.isleap(2024))
결과:
2024년은 윤년인가요? True
4. 타임존 처리: pytz 모듈 사용
파이썬 기본 라이브러리에는 타임존 처리가 포함되지 않으므로, 타임존 처리를 위해 pytz 모듈을 사용합니다.
🔹 설치
pip install pytz
🔹 타임존 적용 예제
from datetime import datetime
import pytz
# UTC 시간 가져오기
utc_now = datetime.now(pytz.utc)
print("현재 UTC 시간:", utc_now)
# 특정 타임존 시간 가져오기
seoul_tz = pytz.timezone("Asia/Seoul")
seoul_time = utc_now.astimezone(seoul_tz)
print("서울 시간:", seoul_time)
결과:
현재 UTC 시간: 2024-11-11 05:23:45+00:00
서울 시간: 2024-11-11 14:23:45+09:00
5. 날짜와 시간 요약
주요 모듈 및 함수
모듈 주요 함수/클래스 설명
datetime | datetime.now() | 현재 날짜와 시간 가져오기 |
datetime.strptime() | 문자열을 날짜로 변환 | |
datetime.strftime() | 날짜를 포맷팅된 문자열로 변환 | |
timedelta | 날짜 및 시간 간격 계산 | |
time | time.time() | 타임스탬프 가져오기 |
time.sleep() | 특정 시간 대기 | |
calendar | calendar.month() | 특정 월의 달력 출력 |
calendar.isleap() | 윤년 여부 확인 | |
pytz | timezone | 특정 타임존 적용 |
파이썬의 날짜와 시간 관련 기능을 활용하면 시간 기반의 작업, 데이터 조작, 일정 관리 등 다양한 작업을 쉽게 처리할 수 있습니다.
반응형
'파이썬 Python' 카테고리의 다른 글
파이썬 정수(int) 함수 사용법 (1) | 2024.11.28 |
---|---|
파이썬 Python 집합(Set) 사용법 (1) | 2024.11.27 |
파이썬 Python 튜플(Tuple) 사용법 (0) | 2024.11.27 |
파이썬(Python) JSON 처리 (0) | 2024.11.26 |
파이썬 Python 파일 경로 다루기 (0) | 2024.11.23 |
파이썬 Python 제너레이터와 이터레이터 사용하기 (0) | 2024.11.23 |
파이썬 Python 데코레이터 활용하기 (0) | 2024.11.21 |
파이썬 Python 문자열 다루기 (0) | 2024.11.21 |