IT/Python Basic

[Python] 초급 개념15 - 날짜와 시간 (datetime, time 모듈)

Echinacea 2025. 2. 19. 09:19
반응형

파이썬에서는 datetimetime 모듈을 활용하여 날짜와 시간을 다룰 수 있습니다. 시간을 가져오거나, 포맷을 변경하고, 시간 차이를 계산하는 등의 기능을 수행할 수 있습니다.

날짜와 시간을 다루는 것은 데이터 분석, 자동화 스크립트, 로그 기록 및 예약 작업을 수행하는 데 필수적인 기능입니다.


 

 

🔹 1. 현재 날짜 및 시간 가져오기

현재 날짜와 시간을 가져오려면 datetime.datetime.now()를 사용합니다.

 

✅ 예제 1: 현재 날짜 및 시간 출력

import datetime

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

출력 예시:

2025-02-18 14:30:00.123456

 

📌 설명:

  • datetime.datetime.now()를 사용하면 현재 날짜와 시간을 가져올 수 있습니다.
  • 연도-월-일 시:분:초.마이크로초 형식으로 출력됩니다.

 

 

🔹 2. 날짜 포맷 변경 (strftime)

날짜와 시간을 원하는 형식으로 출력하려면 strftime()을 사용합니다.

 

✅ 예제 2: 날짜 포맷 변경

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

출력 예시:

2025-02-18 14:30:00

 

📌 설명:

  • strftime()을 사용하면 날짜와 시간을 다양한 형식으로 변환할 수 있습니다.
  • %Y-%m-%d 형식은 일반적으로 사용되는 날짜 표현 방식입니다.

 

 

🔹 3. 문자열을 날짜로 변환 (strptime)

strptime()을 사용하면 문자열로 된 날짜를 datetime 객체로 변환할 수 있습니다.

 

✅ 예제 3: 문자열 → 날짜 변환

date_str = "2025-02-18 14:30:00"
date_obj = datetime.datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print(date_obj)

출력 예시:

2025-02-18 14:30:00

 

📌 설명:

  • 문자열을 datetime 객체로 변환하면 날짜 연산을 수행할 수 있습니다.

 

 

🔹 4. 날짜 연산 (timedelta)

timedelta를 사용하면 날짜 및 시간 간의 차이를 계산할 수 있습니다.

 

✅ 예제 4: 날짜 더하기 및 빼기

tomorrow = now + datetime.timedelta(days=1)
yesterday = now - datetime.timedelta(days=1)
print("내일:", tomorrow)
print("어제:", yesterday)

출력 예시:

내일: 2025-02-19 14:30:00.123456
어제: 2025-02-17 14:30:00.123456

 

📌 설명:

  • 날짜 연산을 하면 자동으로 날짜와 시간이 변경됩니다.

 

 

🔹 5. 특정 시간만 출력하기

날짜 객체에서 특정 부분(연도, 월, 일, 시, 분, 초)만 추출할 수도 있습니다.

 

✅ 예제 5: 특정 요소 출력

print("연도:", now.year)
print("월:", now.month)
print("일:", now.day)
print("시간:", now.hour)
print("분:", now.minute)
print("초:", now.second)

출력 예시:

연도: 2025
월: 2
일: 18
시간: 14
분: 30
초: 0

 

📌 설명:

  • .year, .month, .day 등을 사용하면 개별적인 날짜/시간 정보를 가져올 수 있습니다.

 

 

🔹 6. 유닉스 타임 (time 모듈 활용)

유닉스 타임(Unix Time)은 1970년 1월 1일 00:00:00 UTC부터 경과한 초를 의미합니다.

 

✅ 예제 6: 유닉스 타임 변환

import time

epoch_time = time.time()
print("현재 유닉스 타임:", epoch_time)

출력 예시:

현재 유닉스 타임: 1700000000.123456

 

📌 설명:

  • 유닉스 타임은 시스템 시간 비교 등에 유용하게 사용됩니다.

 

 

🔹 7. 코드 실행 시간 측정

time 모듈의 time()을 사용하면 코드 실행 시간을 측정할 수 있습니다.

 

✅ 예제 7: 실행 시간 측정

start = time.time()

# 실행할 코드
for _ in range(1000000):
    pass

end = time.time()
print("실행 시간:", end - start, "초")

출력 예시:

실행 시간: 0.012345 초

 

📌 설명:

  • 코드 실행 전후의 시간을 측정하여 성능을 평가할 수 있습니다.

 

 

🔹 8. 마무리

이번 문서에서는 날짜와 시간을 다루는 다양한 방법을 학습했습니다.

 

핵심 요약

  • datetime.datetime.now(): 현재 날짜 및 시간 가져오기
  • strftime(): 날짜를 문자열로 변환하여 포맷 지정
  • strptime(): 문자열을 datetime 객체로 변환
  • timedelta(): 날짜 간 연산 수행
  • .year, .month, .day 등을 사용하여 개별 요소 가져오기
  • time.time(): 현재 시간을 유닉스 타임(초)로 반환
  • 실행 시간 측정을 위해 time.time() 활용 가능

 

반응형