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

2024. 5. 28. 22:21·개발/Python
반응형

오늘은 파이썬에서 시간과 날짜를 다루는 방법에 대해 이야기해보려고 합니다. 웹 개발, 데이터 분석, 로그 파일 처리 등 다양한 상황에서 시간 관리는 정말 중요하죠. 그래서 이번 글에서는 파이썬의 기본 모듈 중 하나인 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 모듈은 이를 위해 strftime과 strptime 메서드를 제공합니다.

# 날짜와 시간을 문자열로 변환
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 모듈을 잘 활용해서 더 복잡한 시간 계산이나 일정 관리 기능을 구현할 때 도움이 되었으면 좋겠습니다. 앞으로도 많이 활용해 보세요.

저작자표시 비영리 변경금지 (새창열림)

'개발 > Python' 카테고리의 다른 글

[Python] 파이썬 pytest의 test fixture를 활용해보자  (2) 2023.03.01
[Python] 파이썬 pytest를 활용해서 테스트 해보자  (0) 2023.02.28
[Python] 파이썬 os 모듈에 대해서 알아보자  (0) 2023.02.26
[Python] 파이썬 sys 모듈에 대해서 알아보자  (0) 2023.02.23
[Python] TDD를 활용한 파이썬 unittest 사용 방법과 예제  (0) 2023.02.20
'개발/Python' 카테고리의 다른 글
  • [Python] 파이썬 pytest의 test fixture를 활용해보자
  • [Python] 파이썬 pytest를 활용해서 테스트 해보자
  • [Python] 파이썬 os 모듈에 대해서 알아보자
  • [Python] 파이썬 sys 모듈에 대해서 알아보자
growing-dev
growing-dev
S/W 개발 관련 내용들과 취미나 육아, 맛집 등 관심 있는 내용을 공유하는 블로그입니다.
    반응형
  • growing-dev
    성장하는 개발자 블로그
    growing-dev
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 개발
        • 개발 공통
        • 개발 환경
        • Git
        • 자료구조, 알고리즘
        • C, C++
        • Python
        • DevOps
        • CMake
      • 공부
        • 영어
        • 경제
      • 취미, 육아 N
        • 육아 N
      • 생활정보
  • 블로그 메뉴

    • 홈
  • 링크

    • growing-dev GitHub
  • 공지사항

    • [블로그 시작] 성장하는 개발자 스토리입니다.
  • 인기 글

  • 태그

    Clang
    CMake
    오픽
    하이볼
    프로그래머스
    필스너
    생산성
    키즈카페
    OPIC
    앨리웨이
    dfs
    TDD
    오블완
    git
    VS Code
    소프티어
    티스토리챌린지
    Python
    WSL
    C++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
growing-dev
[Python] datetime 모듈을 활용하여 날짜와 시간을 다뤄보기
상단으로

티스토리툴바