-
Python의 datetime 모듈 활용법python 기초 2025. 2. 17. 23:32728x90
Python의 datetime 모듈은 날짜와 시간을 다루는 강력한 기능을 제공합니다. 이 모듈에서 중요한 두 가지 개념은 datetime 클래스와 timedelta 클래스입니다. 이를 활용하면 날짜 및 시간 데이터를 생성, 수정, 계산할 수 있습니다.
1. datetime 클래스
datetime 클래스는 날짜와 시간을 함께 표현할 수 있는 기능을 제공합니다.
1.1 datetime 객체 생성
from datetime import datetime # 현재 날짜 및 시간 가져오기 now = datetime.now() print("현재 날짜 및 시간:", now) # 특정 날짜 및 시간 지정 specific_date = datetime(2024, 2, 17, 14, 30, 0) print("특정 날짜 및 시간:", specific_date)
1.2 datetime 객체에서 개별 값 추출
print("년도:", now.year) print("월:", now.month) print("일:", now.day) print("시간:", now.hour) print("분:", now.minute) print("초:", now.second)
1.3 문자열 변환 및 포맷팅
# datetime 객체를 문자열로 변환 formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") print("포맷팅된 날짜:", formatted_date) # 문자열을 datetime 객체로 변환 date_string = "2024-02-17 14:30:00" parsed_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S") print("파싱된 날짜:", parsed_date)
2. timedelta 클래스
timedelta 클래스는 날짜와 시간 간의 차이를 나타내며, 연산을 수행하는 데 유용합니다.
2.1 timedelta 객체 생성
from datetime import timedelta # 7일 후의 날짜 계산 delta = timedelta(days=7) future_date = now + delta print("7일 후의 날짜:", future_date) # 7일 전의 날짜 계산 past_date = now - delta print("7일 전의 날짜:", past_date)
2.2 시간 차이 계산
# 두 날짜 간의 차이 계산 start_date = datetime(2024, 2, 10) end_date = datetime(2024, 2, 17) difference = end_date - start_date print("날짜 차이:", difference.days, "일")
3. datetime과 timedelta를 활용한 응용 예제
3.1 특정 날짜 이후의 날짜 구하기
specific_date = datetime(2024, 1, 1) new_date = specific_date + timedelta(weeks=2) print("2주 후의 날짜:", new_date)
3.2 특정 시간 이후의 시간 구하기
specific_time = datetime(2024, 2, 17, 14, 30) new_time = specific_time + timedelta(hours=5, minutes=30) print("5시간 30분 후의 시간:", new_time)
3.3 특정 기간이 지난 후의 비교
expiration_date = datetime(2024, 3, 1) current_date = datetime.now() if current_date > expiration_date: print("기한이 지났습니다.") else: remaining_days = (expiration_date - current_date).days print(f"남은 기간: {remaining_days}일")
4. 마무리
datetime 모듈의 datetime 클래스와 timedelta 클래스를 활용하면 날짜와 시간 데이터를 손쉽게 처리할 수 있습니다. 날짜 연산과 변환을 효율적으로 수행하면 다양한 프로그램에서 활용할 수 있으며, 특히 일정 관리, 로그 기록, 시간 기반 자동화 작업 등에 유용합니다.
728x90'python 기초' 카테고리의 다른 글
pd crosstab 사용 (0) 2024.10.20 pandas dataframe index, column 가져오고 변경하기 (1) 2024.08.27 sklearn standard scaler (0) 2024.08.27 pandas read_csv sep 옵션 (0) 2024.08.25 pandas dadtaframe 수치형 / 범주형 분리 (0) 2024.08.24