개발/Python

[Python] datetime 모듈을 활용하여 날짜와 시간을 다뤄보기

growing-dev 2024. 5. 28. 22:21

오늘은 파이썬에서 시간과 날짜를 다루는 방법에 대해 이야기해보려고 합니다. 웹 개발, 데이터 분석, 로그 파일 처리 등 다양한 상황에서 시간 관리는 정말 중요하죠. 그래서 이번 글에서는 파이썬의 기본 모듈 중 하나인 datetime 모듈을 사용해 시간과 날짜를 어떻게 다룰 수 있는지 알아보겠습니다.

 

 

datetime 모듈을 활용하여 날짜와 시간을 다뤄보기

 

 

 

 

 datetime 모듈 소개

 

datetime 모듈은 날짜와 시간을 다루는 다양한 클래스를 제공합니다. 이 모듈의 주요 클래스는 다음과 같습니다:

  • date: 연도, 월, 일을 나타냅니다.
  • time: 시, 분, 초, 마이크로초를 나타냅니다.
  • datetime: 날짜와 시간을 모두 포함합니다.
  • timedelta: 두 날짜나 시간의 차이를 나타냅니다.

 

 

 

 활용 방법

 

먼저, datetime 객체를 만드는 방법을 살펴보겠습니다. 아래 예제에서 현재 시간과 특정 시간을 어떻게 생성하는지 보여드리겠습니다.

import datetime

# 현재 날짜와 시간
now = datetime.datetime.now()
print("현재 날짜와 시간:", now)

# 특정 날짜와 시간
specific_date = datetime.datetime(2024, 5, 28, 15, 30)
print("특정 날짜와 시간:", specific_date)

 

날짜와 시간을 문자열로 변환하거나, 문자열을 날짜와 시간으로 변환하는 경우가 많습니다. datetime 모듈은 이를 위해 strftimestrptime 메서드를 제공합니다.

# 날짜와 시간을 문자열로 변환
date_str = now.strftime("%Y-%m-%d %H:%M:%S")
print("문자열로 변환된 날짜와 시간:", date_str)

# 문자열을 날짜와 시간으로 변환
date_obj = datetime.datetime.strptime("2024-05-28 15:30:00", "%Y-%m-%d %H:%M:%S")
print("문자열에서 변환된 날짜와 시간:", date_obj)

 

datetime 모듈을 사용하면 날짜와 시간 간의 덧셈 및 뺄셈 연산을 쉽게 할 수 있습니다. timedelta 객체를 활용하면 됩니다.

# 현재 날짜와 시간
now = datetime.datetime.now()

# 5일 후의 날짜와 시간
future_date = now + datetime.timedelta(days=5)
print("5일 후의 날짜와 시간:", future_date)

# 3시간 전의 날짜와 시간
past_time = now - datetime.timedelta(hours=3)
print("3시간 전의 날짜와 시간:", past_time)

 

 

 실행 시간 측정 시 사용

 

저의 경우는 경과 시간을 측정할 때 종종 사용하곤 합니다. 예를 들어, 로그 파일에서 특정 기간 동안의 로그를 필터링하거나, 웹 애플리케이션에서 사용자의 활동 시간을 추적할 수 있습니다. 다음은 사용자가 마지막으로 로그인한 시간을 기록하고, 현재 시간과 비교해 경과 시간을 계산하는 예제입니다.

import datetime

# 사용자의 마지막 로그인 시간
last_login = datetime.datetime(2024, 5, 23, 14, 0)

# 현재 시간
now = datetime.datetime.now()

# 경과 시간 계산
elapsed_time = now - last_login
print("마지막 로그인 이후 경과 시간:", elapsed_time)

# 경과 시간을 일, 시간, 분으로 표시
days = elapsed_time.days
seconds = elapsed_time.seconds
hours = seconds // 3600
minutes = (seconds % 3600) // 60
print(f"경과 시간: {days}일 {hours}시간 {minutes}분")

 

 

 결론

 

지금까지 파이썬의 datetime 모듈을 사용해 날짜와 시간을 다루는 방법을 알아보았습니다. datetime 모듈은 다양한 프로젝트에서 날짜와 시간을 관리하는 데 매우 유용한 도구입니다. 이 글을 통해 datetime 모듈을 잘 활용해서 더 복잡한 시간 계산이나 일정 관리 기능을 구현할 때 도움이 되었으면 좋겠습니다. 앞으로도 많이 활용해 보세요.

반응형