본문 바로가기

[Python] 57강 datetime으로 시간 다루기

@도마22026. 1. 18. 21:00
728x90


이 강의는 파이썬 강의 57강입니다.
이전 강의에서는 표준 라이브러리 활용법을 통해
이미 준비된 도구를 쓰는 감각을 익혔습니다.
이번 강의에서는 그중에서도 가장 많이 쓰이는 모듈,
datetime으로 시간을 다루는 방법을 배웁니다.

자동화, 로그, 기록, 예약
전부 시간에서 시작합니다.


시간을 왜 다뤄야 할까

프로그램이 단순 계산을 넘어서면
항상 시간이 등장합니다.

  • 언제 실행됐는가
  • 얼마나 지났는가
  • 지금이 몇 시인가

이걸 다루지 못하면
자동화는 불가능합니다.


1️⃣ datetime 모듈 기본 구조

datetime 모듈 안에는
여러 클래스가 들어 있습니다.

이번 강의에서 주로 쓰는 것은:

  • datetime.datetime → 날짜 + 시간
  • datetime.date → 날짜
  • datetime.timedelta → 시간 차이

2️⃣ 현재 날짜와 시간 얻기

가장 기본적인 사용법입니다.

import datetime

now = datetime.datetime.now()
print(now)

실행 결과 예시

2026-01-06 18:45:30.123456

현재 시각을
객체로 가져옵니다.


3️⃣ 날짜와 시간 값 분리하기

now에서
각 요소를 따로 꺼낼 수 있습니다.

print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)

로그 파일 이름, 조건 분기에 자주 쓰입니다.


4️⃣ 원하는 형식으로 출력하기 (strftime)

기본 출력은
사람이 보기엔 조금 불편합니다.

formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)

자주 쓰는 형식:

  • %Y → 연도
  • %m → 월
  • %d → 일
  • %H → 시
  • %M → 분
  • %S → 초

5️⃣ 특정 날짜 만들기

직접 날짜를 지정할 수도 있습니다.

day = datetime.datetime(2026, 1, 1, 0, 0, 0)
print(day)

기준 시점 설정에 사용됩니다.


6️⃣ 시간 차이 계산하기 (timedelta)

두 시간의 차이를
계산할 수 있습니다.

future = now + datetime.timedelta(days=1)
print(future)
past = now - datetime.timedelta(hours=3)
print(past)

자동화에서 아주 중요합니다.


7️⃣ 시간 비교하기

datetime 객체는
서로 비교가 가능합니다.

if now > day:
    print("지정한 날짜 이후입니다.")

“몇 시 이후에 실행” 같은 조건에 사용됩니다.


이번 강의 핵심 정리

  • datetime은 시간 처리의 핵심 모듈이다
  • now()로 현재 시간을 얻는다
  • strftime으로 출력 형식을 바꾼다
  • timedelta로 시간 계산을 한다

728x90
도마2
@도마2 :: 도마의 코드노트

초보자를 위한 코딩 강의를 정리합니다. 파이썬부터 C#, Unity 게임 제작까지 차근차근 기록합니다. — 도마

목차