Please Enable JavaScript!
Gon[ Enable JavaScript ]

파이썬 Python 날짜와 시간 다루기

파이썬 Python
반응형

파이썬에서 날짜와 시간을 다루기 위해 주로 사용되는 모듈은 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 특정 타임존 적용

파이썬의 날짜와 시간 관련 기능을 활용하면 시간 기반의 작업, 데이터 조작, 일정 관리 등 다양한 작업을 쉽게 처리할 수 있습니다.

반응형
Posted by 녹두장군1
,