IT/Python Basic
[Python] 초급 개념15 - 날짜와 시간 (datetime, time 모듈)
Echinacea
2025. 2. 19. 09:19
반응형
파이썬에서는 datetime 및 time 모듈을 활용하여 날짜와 시간을 다룰 수 있습니다. 시간을 가져오거나, 포맷을 변경하고, 시간 차이를 계산하는 등의 기능을 수행할 수 있습니다.
날짜와 시간을 다루는 것은 데이터 분석, 자동화 스크립트, 로그 기록 및 예약 작업을 수행하는 데 필수적인 기능입니다.
🔹 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() 활용 가능
반응형